@activecollab/components 2.0.408 → 2.0.409
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Icons/collection/Project.js +98 -0
- package/dist/cjs/components/Icons/collection/Project.js.map +1 -0
- package/dist/cjs/components/Icons/collection/Task.js +61 -0
- package/dist/cjs/components/Icons/collection/Task.js.map +1 -0
- package/dist/cjs/components/Icons/collection/index.js +14 -0
- package/dist/cjs/components/Icons/collection/index.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/NoteCard.js +7 -3
- package/dist/cjs/presentation/stackedCard/content/NoteCard.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/ProjectCard.js +136 -0
- package/dist/cjs/presentation/stackedCard/content/ProjectCard.js.map +1 -0
- package/dist/cjs/presentation/stackedCard/content/TaskCard.js +183 -56
- package/dist/cjs/presentation/stackedCard/content/TaskCard.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/index.js +11 -0
- package/dist/cjs/presentation/stackedCard/content/index.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/shared.js +66 -19
- package/dist/cjs/presentation/stackedCard/content/shared.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/bottomDock.js +95 -32
- package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/canvasElements.js +196 -8
- package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/inspector.js +149 -47
- package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/outline.js +91 -18
- package/dist/cjs/presentation/whiteboard/outline.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/projectElements.js +883 -0
- package/dist/cjs/presentation/whiteboard/projectElements.js.map +1 -0
- package/dist/esm/components/Icons/collection/Project.d.ts +36 -0
- package/dist/esm/components/Icons/collection/Project.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/Project.js +91 -0
- package/dist/esm/components/Icons/collection/Project.js.map +1 -0
- package/dist/esm/components/Icons/collection/Task.d.ts +32 -0
- package/dist/esm/components/Icons/collection/Task.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/Task.js +54 -0
- package/dist/esm/components/Icons/collection/Task.js.map +1 -0
- package/dist/esm/components/Icons/collection/index.d.ts +2 -0
- package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
- package/dist/esm/components/Icons/collection/index.js +2 -0
- package/dist/esm/components/Icons/collection/index.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts +8 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.js +8 -4
- package/dist/esm/presentation/stackedCard/content/NoteCard.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts +64 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts.map +1 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.js +128 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.js.map +1 -0
- package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts +64 -2
- package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/TaskCard.js +181 -58
- package/dist/esm/presentation/stackedCard/content/TaskCard.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/index.d.ts +1 -0
- package/dist/esm/presentation/stackedCard/content/index.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/index.js +1 -0
- package/dist/esm/presentation/stackedCard/content/index.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/shared.d.ts +30 -0
- package/dist/esm/presentation/stackedCard/content/shared.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/shared.js +66 -19
- package/dist/esm/presentation/stackedCard/content/shared.js.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts +30 -7
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.js +79 -32
- package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts +4 -1
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.js +158 -7
- package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/esm/presentation/whiteboard/inspector.d.ts +35 -1
- package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/inspector.js +170 -68
- package/dist/esm/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.d.ts +23 -3
- package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.js +89 -18
- package/dist/esm/presentation/whiteboard/outline.js.map +1 -1
- package/dist/esm/presentation/whiteboard/projectElements.d.ts +267 -0
- package/dist/esm/presentation/whiteboard/projectElements.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/projectElements.js +824 -0
- package/dist/esm/presentation/whiteboard/projectElements.js.map +1 -0
- package/dist/index.js +629 -490
- 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
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.sameColor = exports.elementTraits = exports.colorName = exports.TYPE_LABEL = exports.TRANSPARENT_OPTION = exports.StyledSegmented = exports.StyledPropRow = exports.StyledPropGroups = exports.StyledPropGroup = exports.StyledInspectorSidebar = exports.StyledInspectorResizer = exports.StyledInspectorHeader = exports.StyledInspectorEmpty = exports.StyledInspectorBody = exports.StyledFieldGrid = exports.StyledControl = exports.StyledCheckboxRow = exports.StyledBody = exports.StyledAutoField = exports.RightInspector = exports.OptionSelect = exports.NumberField = exports.ColorPickerField = exports.AutoField = void 0;
|
|
6
|
+
exports.sameColor = exports.elementTraits = exports.colorName = exports.TYPE_LABEL = exports.TRANSPARENT_OPTION = exports.StyledSegmented = exports.StyledPropRow = exports.StyledPropGroups = exports.StyledPropGroup = exports.StyledInspectorSidebar = exports.StyledInspectorResizer = exports.StyledInspectorHeader = exports.StyledInspectorEmpty = exports.StyledInspectorBody = exports.StyledFieldGrid = exports.StyledControl = exports.StyledCheckboxRow = exports.StyledBody = exports.StyledAutoField = exports.RightInspector = exports.ReadOnlyField = exports.PROJECT_ELEMENT_TRAITS = exports.OptionSelect = exports.NumberField = exports.LIMITED_ELEMENT_TRAITS = exports.ColorPickerField = exports.AutoField = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _elements = require("./elements");
|
|
10
10
|
var _fileElement = require("./fileElement");
|
|
11
11
|
var _outline = require("./outline");
|
|
12
|
+
var _projectElements = require("./projectElements");
|
|
12
13
|
var _Checkbox = require("../../components/Checkbox");
|
|
13
14
|
var _ChooseV = require("../../components/ChooseV2");
|
|
14
15
|
var _Dot = require("../../components/Dot");
|
|
@@ -23,17 +24,17 @@ var _Tooltip = require("../../components/Tooltip");
|
|
|
23
24
|
var _Typography = require("../../components/Typography");
|
|
24
25
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
26
|
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); }
|
|
26
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
29
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
30
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
31
27
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
32
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."); }
|
|
33
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; } }
|
|
34
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; }
|
|
35
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; } }
|
|
36
32
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
33
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
36
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
37
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
37
38
|
/* ------------------------------------------------------------------ */
|
|
38
39
|
/* Right Inspector — selected-element properties panel */
|
|
39
40
|
/* ------------------------------------------------------------------ */
|
|
@@ -65,6 +66,42 @@ var elementTraits = exports.elementTraits = function elementTraits(def) {
|
|
|
65
66
|
text: true
|
|
66
67
|
};
|
|
67
68
|
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* A project / task card's traits. It is the most constrained element on the
|
|
72
|
+
* board, and every "false" here is a fact about the card rather than a feature
|
|
73
|
+
* that has not been built yet:
|
|
74
|
+
*
|
|
75
|
+
* fill / stroke / text the card's appearance is the design system's, not
|
|
76
|
+
* the board's — recolouring it would make a task look
|
|
77
|
+
* like something it is not on another person's screen.
|
|
78
|
+
* autoHeight the card is content-sized; only its width is given.
|
|
79
|
+
* renamable the title belongs to the task / project record.
|
|
80
|
+
*
|
|
81
|
+
* Rotation is absent for the same reason it is absent on link and file cards:
|
|
82
|
+
* the Geometry group for a card simply does not render one.
|
|
83
|
+
*/
|
|
84
|
+
var PROJECT_ELEMENT_TRAITS = exports.PROJECT_ELEMENT_TRAITS = {
|
|
85
|
+
geometry: true,
|
|
86
|
+
fill: false,
|
|
87
|
+
stroke: false,
|
|
88
|
+
text: false,
|
|
89
|
+
autoHeight: true,
|
|
90
|
+
renamable: false
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* A LIMITED-ACCESS card's traits: the project card's, with everything the
|
|
95
|
+
* viewer could have changed taken away.
|
|
96
|
+
*
|
|
97
|
+
* The panel is not empty, and that is deliberate — geometry still renders, so
|
|
98
|
+
* the viewer can see that the thing has a position and a size, which is
|
|
99
|
+
* precisely the amount that Workload's limited cell exposes (its data shape is
|
|
100
|
+
* a quantity and an offset). It simply cannot be edited.
|
|
101
|
+
*/
|
|
102
|
+
var LIMITED_ELEMENT_TRAITS = exports.LIMITED_ELEMENT_TRAITS = _objectSpread(_objectSpread({}, PROJECT_ELEMENT_TRAITS), {}, {
|
|
103
|
+
readOnly: true
|
|
104
|
+
});
|
|
68
105
|
var TYPE_LABEL = exports.TYPE_LABEL = {
|
|
69
106
|
rectangle: "Rectangle",
|
|
70
107
|
roundedRectangle: "Rounded Rectangle",
|
|
@@ -104,7 +141,7 @@ var StyledPropGroups = exports.StyledPropGroups = _styledComponents.default.div.
|
|
|
104
141
|
var StyledInspectorHeader = exports.StyledInspectorHeader = _styledComponents.default.div.withConfig({
|
|
105
142
|
displayName: "inspector__StyledInspectorHeader",
|
|
106
143
|
componentId: "sc-do334k-4"
|
|
107
|
-
})(["display:flex;align-items:center;gap:8px;height:56px;padding:0 16px;box-sizing:border-box;flex-shrink:0;.inspector-type-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--color-theme-700);}.inspector-type-icon svg{width:20px;height:20px;}.inspector-name{flex:1;min-width:0;}"]);
|
|
144
|
+
})(["display:flex;align-items:center;gap:8px;height:56px;padding:0 16px;box-sizing:border-box;flex-shrink:0;.inspector-type-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--color-theme-700);}.inspector-type-icon svg{width:20px;height:20px;}.inspector-name{flex:1;min-width:0;}.inspector-name-static{padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}"]);
|
|
108
145
|
|
|
109
146
|
/* Empty state — same muted treatment the outline uses for unnamed rows. */
|
|
110
147
|
var StyledInspectorEmpty = exports.StyledInspectorEmpty = _styledComponents.default.div.withConfig({
|
|
@@ -193,11 +230,24 @@ var AutoField = exports.AutoField = function AutoField(_ref2) {
|
|
|
193
230
|
weight: "regular"
|
|
194
231
|
}, label), /*#__PURE__*/_react.default.createElement(StyledAutoField, null, "Auto"));
|
|
195
232
|
};
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
233
|
+
|
|
234
|
+
/* A geometry value the viewer may READ but not change — the same field
|
|
235
|
+
`AutoField` and the file card's Size already use, with a real value in it.
|
|
236
|
+
Showing the number greyed out is the point: a limited card still has a
|
|
237
|
+
position and a size, and those are the only facts about it there are. */
|
|
238
|
+
var ReadOnlyField = exports.ReadOnlyField = function ReadOnlyField(_ref3) {
|
|
239
|
+
var label = _ref3.label,
|
|
240
|
+
value = _ref3.value;
|
|
241
|
+
return /*#__PURE__*/_react.default.createElement(StyledPropRow, null, /*#__PURE__*/_react.default.createElement(_Label.Label, {
|
|
242
|
+
size: "small",
|
|
243
|
+
weight: "regular"
|
|
244
|
+
}, label), /*#__PURE__*/_react.default.createElement(StyledAutoField, null, value));
|
|
245
|
+
};
|
|
246
|
+
var OptionSelect = exports.OptionSelect = function OptionSelect(_ref4) {
|
|
247
|
+
var options = _ref4.options,
|
|
248
|
+
value = _ref4.value,
|
|
249
|
+
triggerLabel = _ref4.triggerLabel,
|
|
250
|
+
_onChange = _ref4.onChange;
|
|
201
251
|
return /*#__PURE__*/_react.default.createElement(StyledControl, null, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
202
252
|
type: "single",
|
|
203
253
|
disableSearch: true,
|
|
@@ -232,11 +282,11 @@ var colorName = exports.colorName = function colorName(hex) {
|
|
|
232
282
|
/* The regular design-system named-colour picker (the one in the label dialogs):
|
|
233
283
|
a Select whose trigger is a Dot + colour name, and whose menu is the standard
|
|
234
284
|
dot-and-radio list. Custom colours are deferred. */
|
|
235
|
-
var ColorPickerField = exports.ColorPickerField = function ColorPickerField(
|
|
236
|
-
var value =
|
|
237
|
-
disabled =
|
|
238
|
-
includeTransparent =
|
|
239
|
-
onSelect =
|
|
285
|
+
var ColorPickerField = exports.ColorPickerField = function ColorPickerField(_ref5) {
|
|
286
|
+
var value = _ref5.value,
|
|
287
|
+
disabled = _ref5.disabled,
|
|
288
|
+
includeTransparent = _ref5.includeTransparent,
|
|
289
|
+
onSelect = _ref5.onSelect;
|
|
240
290
|
var options = includeTransparent ? [TRANSPARENT_OPTION, ..._elements.COLOR_OPTIONS] : _elements.COLOR_OPTIONS;
|
|
241
291
|
var isTransparent = !value || sameColor(value, "transparent");
|
|
242
292
|
return /*#__PURE__*/_react.default.createElement(StyledControl, {
|
|
@@ -265,26 +315,28 @@ var ColorPickerField = exports.ColorPickerField = function ColorPickerField(_ref
|
|
|
265
315
|
}), colorName(value)))
|
|
266
316
|
}));
|
|
267
317
|
};
|
|
268
|
-
var RightInspector = exports.RightInspector = function RightInspector(
|
|
318
|
+
var RightInspector = exports.RightInspector = function RightInspector(_ref6) {
|
|
269
319
|
var _sizes$def$id, _positions$def$id, _rotations$def$id, _names$def$id, _shape$align, _BORDER_STYLE_OPTIONS, _BORDER_STYLE_OPTIONS2;
|
|
270
|
-
var selectedId =
|
|
271
|
-
positions =
|
|
272
|
-
setPositions =
|
|
273
|
-
sizes =
|
|
274
|
-
setSizes =
|
|
275
|
-
rotations =
|
|
276
|
-
setRotations =
|
|
277
|
-
shapes =
|
|
278
|
-
setShapes =
|
|
279
|
-
stickyStyle =
|
|
280
|
-
setStickyStyle =
|
|
281
|
-
links =
|
|
282
|
-
setLinks =
|
|
283
|
-
files =
|
|
284
|
-
setFiles =
|
|
285
|
-
createdShapes =
|
|
286
|
-
|
|
287
|
-
|
|
320
|
+
var selectedId = _ref6.selectedId,
|
|
321
|
+
positions = _ref6.positions,
|
|
322
|
+
setPositions = _ref6.setPositions,
|
|
323
|
+
sizes = _ref6.sizes,
|
|
324
|
+
setSizes = _ref6.setSizes,
|
|
325
|
+
rotations = _ref6.rotations,
|
|
326
|
+
setRotations = _ref6.setRotations,
|
|
327
|
+
shapes = _ref6.shapes,
|
|
328
|
+
setShapes = _ref6.setShapes,
|
|
329
|
+
stickyStyle = _ref6.stickyStyle,
|
|
330
|
+
setStickyStyle = _ref6.setStickyStyle,
|
|
331
|
+
links = _ref6.links,
|
|
332
|
+
setLinks = _ref6.setLinks,
|
|
333
|
+
files = _ref6.files,
|
|
334
|
+
setFiles = _ref6.setFiles,
|
|
335
|
+
createdShapes = _ref6.createdShapes,
|
|
336
|
+
projectElements = _ref6.projectElements,
|
|
337
|
+
setProjectElements = _ref6.setProjectElements,
|
|
338
|
+
locks = _ref6.locks,
|
|
339
|
+
setLocks = _ref6.setLocks;
|
|
288
340
|
var _useState = (0, _react.useState)(_outline.OUTLINE_WIDTH),
|
|
289
341
|
_useState2 = _slicedToArray(_useState, 2),
|
|
290
342
|
width = _useState2[0],
|
|
@@ -340,6 +392,9 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
340
392
|
var fileDef = selectedId ? files.find(function (file) {
|
|
341
393
|
return file.id === selectedId;
|
|
342
394
|
}) : undefined;
|
|
395
|
+
var projectDef = selectedId ? projectElements.find(function (entry) {
|
|
396
|
+
return entry.id === selectedId;
|
|
397
|
+
}) : undefined;
|
|
343
398
|
var shell = function shell(content) {
|
|
344
399
|
return /*#__PURE__*/_react.default.createElement(StyledInspectorSidebar, {
|
|
345
400
|
style: {
|
|
@@ -375,11 +430,17 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
375
430
|
|
|
376
431
|
/* The Locked checkbox — shown for every element kind, toggling a design lock
|
|
377
432
|
flag keyed by element id. */
|
|
433
|
+
/* `forced` is the limited-access case: the element is locked FOR THIS VIEWER
|
|
434
|
+
and the checkbox is the honest place to say so — ticked, and disabled so it
|
|
435
|
+
reads as a statement about the element rather than a switch that was left
|
|
436
|
+
on. */
|
|
378
437
|
var renderLocked = function renderLocked(id) {
|
|
379
438
|
var _locks$id;
|
|
439
|
+
var forced = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
380
440
|
return /*#__PURE__*/_react.default.createElement(StyledCheckboxRow, null, /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
|
|
381
441
|
id: "wb-lock-".concat(id),
|
|
382
|
-
checked: (_locks$id = locks[id]) !== null && _locks$id !== void 0 ? _locks$id : false,
|
|
442
|
+
checked: forced || ((_locks$id = locks[id]) !== null && _locks$id !== void 0 ? _locks$id : false),
|
|
443
|
+
disabled: forced,
|
|
383
444
|
onChange: function onChange() {
|
|
384
445
|
return setLocks(function (current) {
|
|
385
446
|
var _current$id;
|
|
@@ -395,11 +456,15 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
395
456
|
}, "Locked"));
|
|
396
457
|
};
|
|
397
458
|
|
|
398
|
-
/* Geometry for a card (link / file): X/Y from the shared
|
|
399
|
-
editable width and an auto height (cards are
|
|
400
|
-
be rotated, so there is no Rotation field.
|
|
459
|
+
/* Geometry for a card (link / file / project / task): X/Y from the shared
|
|
460
|
+
positions map, an editable width and an auto height (cards are
|
|
461
|
+
content-sized). Cards cannot be rotated, so there is no Rotation field.
|
|
462
|
+
`readOnly` keeps the same three values in the same three places and swaps
|
|
463
|
+
the inputs for read-only fields — a limited card's geometry is information,
|
|
464
|
+
not a control. */
|
|
401
465
|
var renderCardGeometry = function renderCardGeometry(id, cardWidth, onWidth) {
|
|
402
466
|
var _positions$id;
|
|
467
|
+
var readOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
403
468
|
var cardPosition = (_positions$id = positions[id]) !== null && _positions$id !== void 0 ? _positions$id : {
|
|
404
469
|
x: 0,
|
|
405
470
|
y: 0
|
|
@@ -407,7 +472,10 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
407
472
|
return /*#__PURE__*/_react.default.createElement(StyledPropGroup, null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
|
|
408
473
|
weight: "bold",
|
|
409
474
|
className: "group-title"
|
|
410
|
-
}, "Geometry"), /*#__PURE__*/_react.default.createElement(StyledFieldGrid, null, /*#__PURE__*/_react.default.createElement(
|
|
475
|
+
}, "Geometry"), /*#__PURE__*/_react.default.createElement(StyledFieldGrid, null, readOnly ? /*#__PURE__*/_react.default.createElement(ReadOnlyField, {
|
|
476
|
+
label: "X",
|
|
477
|
+
value: "".concat(cardPosition.x, " px")
|
|
478
|
+
}) : /*#__PURE__*/_react.default.createElement(NumberField, {
|
|
411
479
|
label: "X",
|
|
412
480
|
unit: "px",
|
|
413
481
|
value: cardPosition.x,
|
|
@@ -424,7 +492,10 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
424
492
|
});
|
|
425
493
|
});
|
|
426
494
|
}
|
|
427
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
495
|
+
}), readOnly ? /*#__PURE__*/_react.default.createElement(ReadOnlyField, {
|
|
496
|
+
label: "Y",
|
|
497
|
+
value: "".concat(cardPosition.y, " px")
|
|
498
|
+
}) : /*#__PURE__*/_react.default.createElement(NumberField, {
|
|
428
499
|
label: "Y",
|
|
429
500
|
unit: "px",
|
|
430
501
|
value: cardPosition.y,
|
|
@@ -441,7 +512,10 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
441
512
|
});
|
|
442
513
|
});
|
|
443
514
|
}
|
|
444
|
-
})), /*#__PURE__*/_react.default.createElement(StyledFieldGrid, null, /*#__PURE__*/_react.default.createElement(
|
|
515
|
+
})), /*#__PURE__*/_react.default.createElement(StyledFieldGrid, null, readOnly ? /*#__PURE__*/_react.default.createElement(ReadOnlyField, {
|
|
516
|
+
label: "Width",
|
|
517
|
+
value: "".concat(cardWidth, " px")
|
|
518
|
+
}) : /*#__PURE__*/_react.default.createElement(NumberField, {
|
|
445
519
|
label: "Width",
|
|
446
520
|
unit: "px",
|
|
447
521
|
value: cardWidth,
|
|
@@ -453,13 +527,15 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
453
527
|
};
|
|
454
528
|
|
|
455
529
|
/* Header + panel switch + body, shared by every element kind — only the
|
|
456
|
-
groups inside differ.
|
|
530
|
+
groups inside differ. `renamable` false swaps the live EditableText for
|
|
531
|
+
read-only text, for elements whose name is not the board's to change. */
|
|
457
532
|
var renderInspectorBody = function renderInspectorBody(icon, headerName, id, groups) {
|
|
533
|
+
var renamable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
|
|
458
534
|
return /*#__PURE__*/_react.default.createElement(StyledInspectorBody, null, /*#__PURE__*/_react.default.createElement(StyledInspectorHeader, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
459
535
|
className: "inspector-type-icon"
|
|
460
536
|
}, icon), /*#__PURE__*/_react.default.createElement("span", {
|
|
461
537
|
className: "inspector-name"
|
|
462
|
-
}, /*#__PURE__*/_react.default.createElement(_EditableText.EditableText, {
|
|
538
|
+
}, renamable ? /*#__PURE__*/_react.default.createElement(_EditableText.EditableText, {
|
|
463
539
|
value: headerName,
|
|
464
540
|
variant: "Header 3",
|
|
465
541
|
weight: "bold",
|
|
@@ -473,7 +549,10 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
473
549
|
inputProps: {
|
|
474
550
|
maxLength: 120
|
|
475
551
|
}
|
|
476
|
-
})
|
|
552
|
+
}) : /*#__PURE__*/_react.default.createElement(_Typography.Header3, {
|
|
553
|
+
className: "inspector-name-static",
|
|
554
|
+
title: headerName
|
|
555
|
+
}, headerName))), /*#__PURE__*/_react.default.createElement(_outline.StyledChooseRow, null, /*#__PURE__*/_react.default.createElement(_outline.StyledPanelChooseSlot, null, /*#__PURE__*/_react.default.createElement(_ChooseV.ChooseV2, {
|
|
477
556
|
required: true,
|
|
478
557
|
options: [{
|
|
479
558
|
id: "properties",
|
|
@@ -490,10 +569,33 @@ var RightInspector = exports.RightInspector = function RightInspector(_ref5) {
|
|
|
490
569
|
};
|
|
491
570
|
|
|
492
571
|
/* Nothing selected. */
|
|
493
|
-
if (!def && !linkDef && !fileDef) {
|
|
572
|
+
if (!def && !linkDef && !fileDef && !projectDef) {
|
|
494
573
|
return shell(/*#__PURE__*/_react.default.createElement(StyledInspectorEmpty, null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, "Select an element to see its properties.")));
|
|
495
574
|
}
|
|
496
575
|
|
|
576
|
+
/* Project / task card — the most constrained element here. Its look is not
|
|
577
|
+
the board's to change (no Fill, Stroke or Text), and its title belongs to
|
|
578
|
+
the record it shows, so the header is read-only. What is left is what the
|
|
579
|
+
board really does own: where the card sits, how wide it is, and whether it
|
|
580
|
+
is locked. */
|
|
581
|
+
if (projectDef) {
|
|
582
|
+
var limited = projectDef.limited === true;
|
|
583
|
+
var cardTraits = limited ? LIMITED_ELEMENT_TRAITS : PROJECT_ELEMENT_TRAITS;
|
|
584
|
+
return shell(renderInspectorBody(
|
|
585
|
+
/* A limited card gets a NEUTRAL icon. The task and project glyphs would
|
|
586
|
+
each say which kind of record is behind the card, and the kind is
|
|
587
|
+
part of what the viewer is not entitled to. */
|
|
588
|
+
limited ? /*#__PURE__*/_react.default.createElement(_Icons.LockIcon, null) : projectDef.kind === "project" ? /*#__PURE__*/_react.default.createElement(_Icons.ProjectIcon, null) : /*#__PURE__*/_react.default.createElement(_Icons.TaskIcon, null), (0, _projectElements.projectElementTitle)(projectDef), projectDef.id, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StyledPropGroup, null, renderLocked(projectDef.id, cardTraits.readOnly)), cardTraits.geometry ? renderCardGeometry(projectDef.id, projectDef.width, function (width) {
|
|
589
|
+
return setProjectElements(function (current) {
|
|
590
|
+
return current.map(function (entry) {
|
|
591
|
+
return entry.id === projectDef.id ? _objectSpread(_objectSpread({}, entry), {}, {
|
|
592
|
+
width
|
|
593
|
+
}) : entry;
|
|
594
|
+
});
|
|
595
|
+
});
|
|
596
|
+
}, cardTraits.readOnly) : null), cardTraits.renamable));
|
|
597
|
+
}
|
|
598
|
+
|
|
497
599
|
/* Link card — its URL plus the shared Locked flag. */
|
|
498
600
|
if (linkDef) {
|
|
499
601
|
var _names$linkDef$id, _linkDef$url;
|