@activecollab/components 2.0.386 → 2.0.387

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.
Files changed (28) hide show
  1. package/dist/cjs/components/Icons/collection/CommandLine.js +60 -0
  2. package/dist/cjs/components/Icons/collection/CommandLine.js.map +1 -0
  3. package/dist/cjs/components/Icons/collection/Hash.js +60 -0
  4. package/dist/cjs/components/Icons/collection/Hash.js.map +1 -0
  5. package/dist/cjs/components/Icons/collection/index.js +14 -0
  6. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  7. package/dist/cjs/presentation/shared/LinkingCommandsButton.js +163 -50
  8. package/dist/cjs/presentation/shared/LinkingCommandsButton.js.map +1 -1
  9. package/dist/esm/components/Icons/collection/CommandLine.d.ts +32 -0
  10. package/dist/esm/components/Icons/collection/CommandLine.d.ts.map +1 -0
  11. package/dist/esm/components/Icons/collection/CommandLine.js +53 -0
  12. package/dist/esm/components/Icons/collection/CommandLine.js.map +1 -0
  13. package/dist/esm/components/Icons/collection/Hash.d.ts +32 -0
  14. package/dist/esm/components/Icons/collection/Hash.d.ts.map +1 -0
  15. package/dist/esm/components/Icons/collection/Hash.js +53 -0
  16. package/dist/esm/components/Icons/collection/Hash.js.map +1 -0
  17. package/dist/esm/components/Icons/collection/index.d.ts +2 -0
  18. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  19. package/dist/esm/components/Icons/collection/index.js +2 -0
  20. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  21. package/dist/esm/presentation/shared/LinkingCommandsButton.d.ts.map +1 -1
  22. package/dist/esm/presentation/shared/LinkingCommandsButton.js +150 -49
  23. package/dist/esm/presentation/shared/LinkingCommandsButton.js.map +1 -1
  24. package/dist/index.js +358 -258
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.min.js +1 -1
  27. package/dist/index.min.js.map +1 -1
  28. package/package.json +1 -1
@@ -6,9 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.LinkingCommandsButton = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _ChooseV = require("../../components/ChooseV2");
9
10
  var _Dialog = require("../../components/Dialog");
10
11
  var _IconButton = require("../../components/IconButton");
11
12
  var _Icons = require("../../components/Icons");
13
+ var _Loaders = require("../../components/Loaders");
14
+ var _Tooltip = require("../../components/Tooltip");
12
15
  var _Trigger = require("../../components/Trigger");
13
16
  var _Typography = require("../../components/Typography");
14
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -22,12 +25,26 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
25
  /**
23
26
  * "Linking and Commands" button — same small outlined shape and placement as
24
27
  * the "Suggest Subtasks" button, but without an icon or the AI gradient (this
25
- * is not an AI feature). Clicking it opens a reference dialog explaining how
26
- * to auto-link git activity to a task and the commands available in commit
27
- * messages / descriptions.
28
+ * is not an AI feature). Clicking it opens a reference dialog: a short pitch
29
+ * with a one-liner each for Linking and Commands, a centered ChooseV2 to switch
30
+ * between the two conventions (Linking default), and the full instructions for
31
+ * whichever is selected below it.
28
32
  */
29
33
  var SANS = '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Arial, sans-serif';
30
34
  var MONO = "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
35
+
36
+ /** The example task these instructions are written against. */
37
+ var TASK_ID = 4231;
38
+ /**
39
+ * Suggested branch name for this task — in production it is resolved per repo
40
+ * via GET .../tasks/{task_id}/source/suggest-branch-name. Mocked here.
41
+ */
42
+ var SUGGESTED_BRANCH = "ilija/4231-add-cacak-region-support";
43
+
44
+ /** POSIX-safe single-quote escaping for a value dropped into a shell command. */
45
+ var shellQuote = function shellQuote(value) {
46
+ return "'".concat(value.replace(/'/g, "'\\''"), "'");
47
+ };
31
48
  var StyledButton = (0, _styledComponents.default)(_Trigger.Trigger).withConfig({
32
49
  displayName: "LinkingCommandsButton__StyledButton",
33
50
  componentId: "sc-11q4kcm-0"
@@ -39,21 +56,28 @@ var StyledTitleRow = _styledComponents.default.div.withConfig({
39
56
  var StyledBody = _styledComponents.default.div.withConfig({
40
57
  displayName: "LinkingCommandsButton__StyledBody",
41
58
  componentId: "sc-11q4kcm-2"
42
- })(["font-family:", ";.lc-section{margin-bottom:22px;}.lc-section:last-child{margin-bottom:0;}.lc-h{margin-bottom:6px;}.lc-list{margin:8px 0 0;padding-left:18px;}.lc-list li{margin-bottom:6px;}.code{font-family:", ";background:var(--color-theme-200);border-radius:4px;padding:1px 5px;font-size:12px;color:var(--color-theme-900);}table{width:100%;border-collapse:collapse;margin-top:10px;}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-primary);vertical-align:top;}th{font-size:12px;font-weight:500;color:var(--color-theme-600);}.lc-note{margin-top:10px;}"], SANS, MONO);
59
+ })(["font-family:", ";.lc-intro{margin-bottom:18px;}.lc-lead{display:flex;gap:10px;align-items:flex-start;margin-top:12px;}.lc-lead svg{flex-shrink:0;width:18px;height:18px;margin-top:2px;}.lc-term{font-weight:600;color:var(--color-theme-900);}.lc-choosectl{margin-bottom:18px;}.lc-choosectl > div{justify-content:center;}.lc-list{margin:8px 0 0;padding-left:18px;}.lc-list li{margin-bottom:6px;}.lc-invite{margin-top:14px;}.code{font-family:", ";background:var(--color-theme-200);border-radius:4px;padding:1px 5px;font-size:12px;color:var(--color-theme-900);}.lc-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 10px;background:var(--color-theme-200);border:1px solid var(--border-primary);border-radius:6px;}.lc-copy code{font-family:", ";font-size:12px;color:var(--color-theme-900);overflow-x:auto;white-space:nowrap;}.lc-copy-btn{flex-shrink:0;display:inline-flex;align-items:center;border:none;background:transparent;cursor:pointer;padding:2px;color:var(--color-theme-600);transition:color 0.15s ease;}.lc-copy-btn:hover{color:var(--color-theme-900);}.lc-copy-btn svg{width:16px;height:16px;}.lc-copy-skel{height:37px;width:100%;margin-top:10px;border-radius:6px;}.lc-example{font-family:", ";font-size:12px;line-height:1.5;color:var(--color-theme-900);background:var(--color-theme-200);border:1px solid var(--border-primary);border-radius:6px;padding:10px 12px;margin-top:12px;white-space:pre-wrap;overflow-x:auto;}table{width:100%;border-collapse:collapse;margin-top:12px;}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-primary);vertical-align:top;}th{font-size:12px;font-weight:500;color:var(--color-theme-600);}"], SANS, MONO, MONO, MONO);
60
+ var TAB_OPTIONS = [{
61
+ id: "linking",
62
+ name: "Linking"
63
+ }, {
64
+ id: "commands",
65
+ name: "Commands"
66
+ }];
43
67
  var COMMANDS = [{
44
68
  cmd: "Closes #34",
45
69
  does: "Closes the task when the pull request merges"
46
70
  }, {
47
71
  cmd: "Fixes #34",
48
- does: "Same as Closes closes on merge"
72
+ does: "Same as Closes: closes on merge"
49
73
  }, {
50
74
  cmd: "Refs #34",
51
75
  does: "Links to the task without closing it"
52
76
  }, {
53
- cmd: "/spend 1h30m",
77
+ cmd: "/spend 1:30",
54
78
  does: "Logs time against the task"
55
79
  }, {
56
- cmd: "/estimate 4h",
80
+ cmd: "/estimate 4:00",
57
81
  does: "Sets the task's time estimate"
58
82
  }, {
59
83
  cmd: "/done",
@@ -74,16 +98,120 @@ var COMMANDS = [{
74
98
  cmd: "/relate #35",
75
99
  does: "Relates this task to another task"
76
100
  }];
77
- var LinkingCommandsButton = exports.LinkingCommandsButton = function LinkingCommandsButton() {
101
+
102
+ /** Illustrative commit message: closes the task, logs time, leaves a note. */
103
+ var EXAMPLE_COMMIT = "Fix ranks reset when a contract is archived\n\nCloses #".concat(TASK_ID, "\n/spend 1:30\n/comment Verified on staging, ranks hold after archive");
104
+ var LinkingTab = function LinkingTab(_ref) {
105
+ var loading = _ref.loading,
106
+ branch = _ref.branch;
78
107
  var _useState = (0, _react.useState)(false),
79
108
  _useState2 = _slicedToArray(_useState, 2),
80
- open = _useState2[0],
81
- setOpen = _useState2[1];
109
+ copied = _useState2[0],
110
+ setCopied = _useState2[1];
111
+ var command = branch ? "git checkout -b ".concat(shellQuote(branch)) : "";
112
+ var copy = function copy() {
113
+ var _navigator$clipboard;
114
+ if (!command) return;
115
+ // eslint-disable-next-line compat/compat
116
+ void ((_navigator$clipboard = navigator.clipboard) === null || _navigator$clipboard === void 0 ? void 0 : _navigator$clipboard.writeText(command));
117
+ setCopied(true);
118
+ window.setTimeout(function () {
119
+ return setCopied(false);
120
+ }, 1500);
121
+ };
122
+ return /*#__PURE__*/_react.default.createElement("div", {
123
+ className: "lc-tabbody"
124
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
125
+ color: "secondary"
126
+ }, "Mention the task in your git activity and it links to this task on its own:"), /*#__PURE__*/_react.default.createElement("ul", {
127
+ className: "lc-list"
128
+ }, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, /*#__PURE__*/_react.default.createElement("span", {
129
+ className: "lc-term"
130
+ }, "In a branch name:"), " the raw task ID", " ", /*#__PURE__*/_react.default.createElement("span", {
131
+ className: "code"
132
+ }, TASK_ID))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, /*#__PURE__*/_react.default.createElement("span", {
133
+ className: "lc-term"
134
+ }, "In a title, commit message, or description:"), " ", /*#__PURE__*/_react.default.createElement("span", {
135
+ className: "code"
136
+ }, "#", TASK_ID), " or", " ", /*#__PURE__*/_react.default.createElement("span", {
137
+ className: "code"
138
+ }, "AC-", TASK_ID))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, /*#__PURE__*/_react.default.createElement("span", {
139
+ className: "lc-term"
140
+ }, "Anywhere:"), " the task URL", " ", /*#__PURE__*/_react.default.createElement("span", {
141
+ className: "code"
142
+ }, "https://app.activecollab.com/1/projects/2110/tasks/", TASK_ID)))), /*#__PURE__*/_react.default.createElement("div", {
143
+ className: "lc-invite"
144
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
145
+ color: "secondary"
146
+ }, "Give the branch a name with the task number in it and it links the moment you push. Create one from the suggested name:"), loading ? /*#__PURE__*/_react.default.createElement(_Loaders.SkeletonLoader, {
147
+ className: "lc-copy-skel"
148
+ }) : /*#__PURE__*/_react.default.createElement("div", {
149
+ className: "lc-copy"
150
+ }, /*#__PURE__*/_react.default.createElement("code", null, command), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
151
+ title: copied ? "Copied!" : "Copy"
152
+ }, /*#__PURE__*/_react.default.createElement("button", {
153
+ type: "button",
154
+ className: "lc-copy-btn",
155
+ onClick: copy,
156
+ "aria-label": "Copy command"
157
+ }, /*#__PURE__*/_react.default.createElement(_Icons.CopyIcon, null))))));
158
+ };
159
+ var CommandsTab = function CommandsTab() {
160
+ return /*#__PURE__*/_react.default.createElement("div", {
161
+ className: "lc-tabbody"
162
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
163
+ color: "secondary"
164
+ }, "The table below lists magic words and slash commands that you can use in a commit message or a pull request description to act on the linked task. Example:"), /*#__PURE__*/_react.default.createElement("pre", {
165
+ className: "lc-example"
166
+ }, EXAMPLE_COMMIT), /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", null, "Command"), /*#__PURE__*/_react.default.createElement("th", null, "What it does"))), /*#__PURE__*/_react.default.createElement("tbody", null, COMMANDS.map(function (c) {
167
+ return /*#__PURE__*/_react.default.createElement("tr", {
168
+ key: c.cmd
169
+ }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("span", {
170
+ className: "code"
171
+ }, c.cmd)), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
172
+ color: "secondary"
173
+ }, c.does)));
174
+ }))));
175
+ };
176
+ var LinkingCommandsButton = exports.LinkingCommandsButton = function LinkingCommandsButton() {
177
+ var _useState3 = (0, _react.useState)(false),
178
+ _useState4 = _slicedToArray(_useState3, 2),
179
+ open = _useState4[0],
180
+ setOpen = _useState4[1];
181
+ var _useState5 = (0, _react.useState)("linking"),
182
+ _useState6 = _slicedToArray(_useState5, 2),
183
+ tab = _useState6[0],
184
+ setTab = _useState6[1];
185
+ var _useState7 = (0, _react.useState)(true),
186
+ _useState8 = _slicedToArray(_useState7, 2),
187
+ branchLoading = _useState8[0],
188
+ setBranchLoading = _useState8[1];
189
+ var _useState9 = (0, _react.useState)(null),
190
+ _useState0 = _slicedToArray(_useState9, 2),
191
+ suggestedBranch = _useState0[0],
192
+ setSuggestedBranch = _useState0[1];
193
+
194
+ // Mock the suggest-branch-name API load: ~1s skeleton whenever the dialog
195
+ // opens, then reveal the copyable git command.
196
+ (0, _react.useEffect)(function () {
197
+ if (!open) return undefined;
198
+ setBranchLoading(true);
199
+ setSuggestedBranch(null);
200
+ var timer = window.setTimeout(function () {
201
+ setSuggestedBranch(SUGGESTED_BRANCH);
202
+ setBranchLoading(false);
203
+ }, 1000);
204
+ return function () {
205
+ return window.clearTimeout(timer);
206
+ };
207
+ }, [open]);
208
+ var openDialog = function openDialog() {
209
+ setTab("linking");
210
+ setOpen(true);
211
+ };
82
212
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StyledButton, {
83
213
  type: "button",
84
- onClick: function onClick() {
85
- return setOpen(true);
86
- }
214
+ onClick: openDialog
87
215
  }, /*#__PURE__*/_react.default.createElement("span", {
88
216
  className: "lc-btn"
89
217
  }, "Linking and Commands")), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
@@ -101,45 +229,30 @@ var LinkingCommandsButton = exports.LinkingCommandsButton = function LinkingComm
101
229
  return setOpen(false);
102
230
  }
103
231
  }, /*#__PURE__*/_react.default.createElement(_Icons.CancelCrossIcon, null)))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Content, null, /*#__PURE__*/_react.default.createElement(StyledBody, null, /*#__PURE__*/_react.default.createElement("div", {
104
- className: "lc-section"
105
- }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
232
+ className: "lc-intro"
233
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, "Keep a task in sync with your code without leaving your editor."), /*#__PURE__*/_react.default.createElement("div", {
234
+ className: "lc-lead"
235
+ }, /*#__PURE__*/_react.default.createElement(_Icons.HashIcon, null), /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
106
236
  color: "secondary"
107
- }, "Mention the task anywhere in a branch name, pull request title, commit message, or description and it links to this task on its own. Any of these forms work:"), /*#__PURE__*/_react.default.createElement("ul", {
108
- className: "lc-list"
109
- }, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, "Raw ID ", /*#__PURE__*/_react.default.createElement("span", {
110
- className: "code"
111
- }, "34"), ", hashed", " ", /*#__PURE__*/_react.default.createElement("span", {
112
- className: "code"
113
- }, "#34"), ", or prefixed", " ", /*#__PURE__*/_react.default.createElement("span", {
114
- className: "code"
115
- }, "AC-34"))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, null, "The task URL", " ", /*#__PURE__*/_react.default.createElement("span", {
116
- className: "code"
117
- }, "https://app.activecollab.com/1/projects/2110/tasks/34")))), /*#__PURE__*/_react.default.createElement("div", {
118
- className: "lc-note"
119
- }, /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
120
- color: "tertiary"
121
- }, "Recommended: put the ID in the branch name (e.g.", " ", /*#__PURE__*/_react.default.createElement("span", {
122
- className: "code"
123
- }, "feature/retainers-34"), ") so it links the moment you push, and add a closing word in the pull request when you want it to complete the task on merge."))), /*#__PURE__*/_react.default.createElement("div", {
124
- className: "lc-section"
125
- }, /*#__PURE__*/_react.default.createElement(_Typography.Body1, {
126
- weight: "bold",
127
- className: "lc-h"
128
- }, "Commands"), /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
237
+ }, /*#__PURE__*/_react.default.createElement("span", {
238
+ className: "lc-term"
239
+ }, "Linking:"), " Mention a task in a branch, pull request, or commit and they will be connected automatically.")), /*#__PURE__*/_react.default.createElement("div", {
240
+ className: "lc-lead"
241
+ }, /*#__PURE__*/_react.default.createElement(_Icons.CommandLineIcon, null), /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
129
242
  color: "secondary"
130
- }, "Use these in a commit message or a pull request / merge request description to act on the linked task."), /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", null, "Command"), /*#__PURE__*/_react.default.createElement("th", null, "What it does"))), /*#__PURE__*/_react.default.createElement("tbody", null, COMMANDS.map(function (c) {
131
- return /*#__PURE__*/_react.default.createElement("tr", {
132
- key: c.cmd
133
- }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("span", {
134
- className: "code"
135
- }, c.cmd)), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
136
- color: "secondary"
137
- }, c.does)));
138
- }))), /*#__PURE__*/_react.default.createElement("div", {
139
- className: "lc-note"
140
- }, /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
141
- color: "tertiary"
142
- }, "Starter set \u2014 to be refined.")))))));
243
+ }, /*#__PURE__*/_react.default.createElement("span", {
244
+ className: "lc-term"
245
+ }, "Commands:"), " Add short instructions in a commit or pull request description to act on the task: log time, close it, or leave a comment."))), /*#__PURE__*/_react.default.createElement(_ChooseV.ChooseV2, {
246
+ className: "lc-choosectl",
247
+ options: TAB_OPTIONS,
248
+ selected: [tab],
249
+ onChange: function onChange(ids) {
250
+ return setTab(ids[0]);
251
+ }
252
+ }), tab === "linking" ? /*#__PURE__*/_react.default.createElement(LinkingTab, {
253
+ loading: branchLoading,
254
+ branch: suggestedBranch
255
+ }) : /*#__PURE__*/_react.default.createElement(CommandsTab, null)))));
143
256
  };
144
257
  LinkingCommandsButton.displayName = "LinkingCommandsButton";
145
258
  //# sourceMappingURL=LinkingCommandsButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkingCommandsButton.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_Dialog","_IconButton","_Icons","_Trigger","_Typography","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","MONO","StyledButton","styled","Trigger","withConfig","displayName","componentId","StyledTitleRow","div","StyledBody","COMMANDS","cmd","does","LinkingCommandsButton","exports","_useState","useState","_useState2","open","setOpen","createElement","Fragment","type","onClick","className","Dialog","onClose","enableBackgroundClick","Title","disableDefaultHeading","Header3","IconButton","variant","CancelCrossIcon","ContentDivider","Content","Body2","color","Caption1","Body1","weight","map","c","key"],"sources":["../../../../src/presentation/shared/LinkingCommandsButton.tsx"],"sourcesContent":["import React, { ReactElement, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { Dialog } from \"../../components/Dialog\";\nimport { IconButton } from \"../../components/IconButton\";\nimport { CancelCrossIcon } from \"../../components/Icons\";\nimport { Trigger } from \"../../components/Trigger\";\nimport { Body1, Body2, Caption1, Header3 } from \"../../components/Typography\";\n\n/**\n * \"Linking and Commands\" button — same small outlined shape and placement as\n * the \"Suggest Subtasks\" button, but without an icon or the AI gradient (this\n * is not an AI feature). Clicking it opens a reference dialog explaining how\n * to auto-link git activity to a task and the commands available in commit\n * messages / descriptions.\n */\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\nconst MONO = \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\";\n\nconst StyledButton = styled(Trigger)`\n .lc-btn {\n display: inline-flex;\n align-items: center;\n color: var(--color-theme-700);\n border: 1px solid var(--color-theme-500);\n background-color: transparent;\n padding: 3px 8px;\n font-weight: 500;\n font-size: 12px;\n letter-spacing: 0.5px;\n line-height: 16px;\n border-radius: 6px;\n transition: border-color 0.2s ease, color 0.2s ease;\n }\n &:hover .lc-btn {\n border-color: var(--color-theme-700);\n color: var(--color-theme-900);\n }\n`;\n\nconst StyledTitleRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n`;\n\nconst StyledBody = styled.div`\n font-family: ${SANS};\n\n .lc-section {\n margin-bottom: 22px;\n }\n .lc-section:last-child {\n margin-bottom: 0;\n }\n .lc-h {\n margin-bottom: 6px;\n }\n .lc-list {\n margin: 8px 0 0;\n padding-left: 18px;\n }\n .lc-list li {\n margin-bottom: 6px;\n }\n .code {\n font-family: ${MONO};\n background: var(--color-theme-200);\n border-radius: 4px;\n padding: 1px 5px;\n font-size: 12px;\n color: var(--color-theme-900);\n }\n table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 10px;\n }\n th,\n td {\n text-align: left;\n padding: 8px 10px;\n border-bottom: 1px solid var(--border-primary);\n vertical-align: top;\n }\n th {\n font-size: 12px;\n font-weight: 500;\n color: var(--color-theme-600);\n }\n .lc-note {\n margin-top: 10px;\n }\n`;\n\ninterface Command {\n cmd: string;\n does: string;\n}\n\nconst COMMANDS: Command[] = [\n { cmd: \"Closes #34\", does: \"Closes the task when the pull request merges\" },\n { cmd: \"Fixes #34\", does: \"Same as Closes — closes on merge\" },\n { cmd: \"Refs #34\", does: \"Links to the task without closing it\" },\n { cmd: \"/spend 1h30m\", does: \"Logs time against the task\" },\n { cmd: \"/estimate 4h\", does: \"Sets the task's time estimate\" },\n { cmd: \"/done\", does: \"Marks the task complete\" },\n { cmd: \"/reopen\", does: \"Reopens the task\" },\n { cmd: \"/assign @ilija\", does: \"Assigns the task to a user\" },\n { cmd: \"/label In Progress\", does: \"Adds a label to the task\" },\n { cmd: \"/comment Deployed to staging\", does: \"Posts a comment on the task\" },\n { cmd: \"/relate #35\", does: \"Relates this task to another task\" },\n];\n\nexport const LinkingCommandsButton = (): ReactElement => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <StyledButton type=\"button\" onClick={() => setOpen(true)}>\n <span className=\"lc-btn\">Linking and Commands</span>\n </StyledButton>\n\n <Dialog open={open} onClose={() => setOpen(false)} enableBackgroundClick>\n <Dialog.Title disableDefaultHeading>\n <StyledTitleRow>\n <Header3>Linking and Commands</Header3>\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n onClick={() => setOpen(false)}\n >\n <CancelCrossIcon />\n </IconButton>\n </StyledTitleRow>\n </Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledBody>\n <div className=\"lc-section\">\n <Body2 color=\"secondary\">\n Mention the task anywhere in a branch name, pull request title,\n commit message, or description and it links to this task on its\n own. Any of these forms work:\n </Body2>\n <ul className=\"lc-list\">\n <li>\n <Body2>\n Raw ID <span className=\"code\">34</span>, hashed{\" \"}\n <span className=\"code\">#34</span>, or prefixed{\" \"}\n <span className=\"code\">AC-34</span>\n </Body2>\n </li>\n <li>\n <Body2>\n The task URL{\" \"}\n <span className=\"code\">\n https://app.activecollab.com/1/projects/2110/tasks/34\n </span>\n </Body2>\n </li>\n </ul>\n <div className=\"lc-note\">\n <Caption1 color=\"tertiary\">\n Recommended: put the ID in the branch name (e.g.{\" \"}\n <span className=\"code\">feature/retainers-34</span>) so it\n links the moment you push, and add a closing word in the pull\n request when you want it to complete the task on merge.\n </Caption1>\n </div>\n </div>\n\n <div className=\"lc-section\">\n <Body1 weight=\"bold\" className=\"lc-h\">\n Commands\n </Body1>\n <Body2 color=\"secondary\">\n Use these in a commit message or a pull request / merge request\n description to act on the linked task.\n </Body2>\n <table>\n <thead>\n <tr>\n <th>Command</th>\n <th>What it does</th>\n </tr>\n </thead>\n <tbody>\n {COMMANDS.map((c) => (\n <tr key={c.cmd}>\n <td>\n <span className=\"code\">{c.cmd}</span>\n </td>\n <td>\n <Body2 color=\"secondary\">{c.does}</Body2>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n <div className=\"lc-note\">\n <Caption1 color=\"tertiary\">\n Starter set — to be refined.\n </Caption1>\n </div>\n </div>\n </StyledBody>\n </Dialog.Content>\n </Dialog>\n </>\n );\n};\n\nLinkingCommandsButton.displayName = \"LinkingCommandsButton\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LinkingCommandsButton.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ChooseV","_Dialog","_IconButton","_Icons","_Loaders","_Tooltip","_Trigger","_Typography","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","MONO","TASK_ID","SUGGESTED_BRANCH","shellQuote","concat","replace","StyledButton","styled","Trigger","withConfig","displayName","componentId","StyledTitleRow","div","StyledBody","TAB_OPTIONS","id","COMMANDS","cmd","does","EXAMPLE_COMMIT","LinkingTab","_ref","loading","branch","_useState","useState","_useState2","copied","setCopied","command","copy","_navigator$clipboard","navigator","clipboard","writeText","window","setTimeout","createElement","className","Body2","color","SkeletonLoader","Tooltip","title","type","onClick","CopyIcon","CommandsTab","map","c","key","LinkingCommandsButton","exports","_useState3","_useState4","open","setOpen","_useState5","_useState6","tab","setTab","_useState7","_useState8","branchLoading","setBranchLoading","_useState9","_useState0","suggestedBranch","setSuggestedBranch","useEffect","undefined","timer","clearTimeout","openDialog","Fragment","Dialog","onClose","enableBackgroundClick","Title","disableDefaultHeading","Header3","IconButton","variant","CancelCrossIcon","ContentDivider","Content","HashIcon","CommandLineIcon","ChooseV2","options","selected","onChange","ids"],"sources":["../../../../src/presentation/shared/LinkingCommandsButton.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { ChooseV2, ChooseV2Option } from \"../../components/ChooseV2\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n CancelCrossIcon,\n CommandLineIcon,\n CopyIcon,\n HashIcon,\n} from \"../../components/Icons\";\nimport { SkeletonLoader } from \"../../components/Loaders\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Trigger } from \"../../components/Trigger\";\nimport { Body2, Header3 } from \"../../components/Typography\";\n\n/**\n * \"Linking and Commands\" button — same small outlined shape and placement as\n * the \"Suggest Subtasks\" button, but without an icon or the AI gradient (this\n * is not an AI feature). Clicking it opens a reference dialog: a short pitch\n * with a one-liner each for Linking and Commands, a centered ChooseV2 to switch\n * between the two conventions (Linking default), and the full instructions for\n * whichever is selected below it.\n */\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\nconst MONO = \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\";\n\n/** The example task these instructions are written against. */\nconst TASK_ID = 4231;\n/**\n * Suggested branch name for this task — in production it is resolved per repo\n * via GET .../tasks/{task_id}/source/suggest-branch-name. Mocked here.\n */\nconst SUGGESTED_BRANCH = \"ilija/4231-add-cacak-region-support\";\n\n/** POSIX-safe single-quote escaping for a value dropped into a shell command. */\nconst shellQuote = (value: string): string =>\n `'${value.replace(/'/g, \"'\\\\''\")}'`;\n\nconst StyledButton = styled(Trigger)`\n .lc-btn {\n display: inline-flex;\n align-items: center;\n color: var(--color-theme-700);\n border: 1px solid var(--color-theme-500);\n background-color: transparent;\n padding: 3px 8px;\n font-weight: 500;\n font-size: 12px;\n letter-spacing: 0.5px;\n line-height: 16px;\n border-radius: 6px;\n transition: border-color 0.2s ease, color 0.2s ease;\n }\n &:hover .lc-btn {\n border-color: var(--color-theme-700);\n color: var(--color-theme-900);\n }\n`;\n\nconst StyledTitleRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n`;\n\nconst StyledBody = styled.div`\n font-family: ${SANS};\n\n .lc-intro {\n margin-bottom: 18px;\n }\n .lc-lead {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n margin-top: 12px;\n }\n .lc-lead svg {\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n margin-top: 2px;\n }\n .lc-term {\n font-weight: 600;\n color: var(--color-theme-900);\n }\n\n /* ChooseV2 root is passed .lc-choosectl; its inner flex row is centered. */\n .lc-choosectl {\n margin-bottom: 18px;\n }\n .lc-choosectl > div {\n justify-content: center;\n }\n\n .lc-list {\n margin: 8px 0 0;\n padding-left: 18px;\n }\n .lc-list li {\n margin-bottom: 6px;\n }\n .lc-invite {\n margin-top: 14px;\n }\n .code {\n font-family: ${MONO};\n background: var(--color-theme-200);\n border-radius: 4px;\n padding: 1px 5px;\n font-size: 12px;\n color: var(--color-theme-900);\n }\n .lc-copy {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n margin-top: 10px;\n padding: 8px 10px;\n background: var(--color-theme-200);\n border: 1px solid var(--border-primary);\n border-radius: 6px;\n }\n .lc-copy code {\n font-family: ${MONO};\n font-size: 12px;\n color: var(--color-theme-900);\n overflow-x: auto;\n white-space: nowrap;\n }\n .lc-copy-btn {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 2px;\n color: var(--color-theme-600);\n transition: color 0.15s ease;\n }\n .lc-copy-btn:hover {\n color: var(--color-theme-900);\n }\n .lc-copy-btn svg {\n width: 16px;\n height: 16px;\n }\n .lc-copy-skel {\n height: 37px;\n width: 100%;\n margin-top: 10px;\n border-radius: 6px;\n }\n .lc-example {\n font-family: ${MONO};\n font-size: 12px;\n line-height: 1.5;\n color: var(--color-theme-900);\n background: var(--color-theme-200);\n border: 1px solid var(--border-primary);\n border-radius: 6px;\n padding: 10px 12px;\n margin-top: 12px;\n white-space: pre-wrap;\n overflow-x: auto;\n }\n table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 12px;\n }\n th,\n td {\n text-align: left;\n padding: 8px 10px;\n border-bottom: 1px solid var(--border-primary);\n vertical-align: top;\n }\n th {\n font-size: 12px;\n font-weight: 500;\n color: var(--color-theme-600);\n }\n`;\n\ntype LcTab = \"linking\" | \"commands\";\n\nconst TAB_OPTIONS: ChooseV2Option[] = [\n { id: \"linking\", name: \"Linking\" },\n { id: \"commands\", name: \"Commands\" },\n];\n\ninterface Command {\n cmd: string;\n does: string;\n}\n\nconst COMMANDS: Command[] = [\n { cmd: \"Closes #34\", does: \"Closes the task when the pull request merges\" },\n { cmd: \"Fixes #34\", does: \"Same as Closes: closes on merge\" },\n { cmd: \"Refs #34\", does: \"Links to the task without closing it\" },\n { cmd: \"/spend 1:30\", does: \"Logs time against the task\" },\n { cmd: \"/estimate 4:00\", does: \"Sets the task's time estimate\" },\n { cmd: \"/done\", does: \"Marks the task complete\" },\n { cmd: \"/reopen\", does: \"Reopens the task\" },\n { cmd: \"/assign @ilija\", does: \"Assigns the task to a user\" },\n { cmd: \"/label In Progress\", does: \"Adds a label to the task\" },\n { cmd: \"/comment Deployed to staging\", does: \"Posts a comment on the task\" },\n { cmd: \"/relate #35\", does: \"Relates this task to another task\" },\n];\n\n/** Illustrative commit message: closes the task, logs time, leaves a note. */\nconst EXAMPLE_COMMIT = `Fix ranks reset when a contract is archived\n\nCloses #${TASK_ID}\n/spend 1:30\n/comment Verified on staging, ranks hold after archive`;\n\ninterface LinkingTabProps {\n loading: boolean;\n branch: string | null;\n}\n\nconst LinkingTab = ({ loading, branch }: LinkingTabProps): ReactElement => {\n const [copied, setCopied] = useState(false);\n const command = branch ? `git checkout -b ${shellQuote(branch)}` : \"\";\n\n const copy = (): void => {\n if (!command) return;\n // eslint-disable-next-line compat/compat\n void navigator.clipboard?.writeText(command);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1500);\n };\n\n return (\n <div className=\"lc-tabbody\">\n <Body2 color=\"secondary\">\n Mention the task in your git activity and it links to this task on its\n own:\n </Body2>\n <ul className=\"lc-list\">\n <li>\n <Body2>\n <span className=\"lc-term\">In a branch name:</span> the raw task ID{\" \"}\n <span className=\"code\">{TASK_ID}</span>\n </Body2>\n </li>\n <li>\n <Body2>\n <span className=\"lc-term\">\n In a title, commit message, or description:\n </span>{\" \"}\n <span className=\"code\">#{TASK_ID}</span> or{\" \"}\n <span className=\"code\">AC-{TASK_ID}</span>\n </Body2>\n </li>\n <li>\n <Body2>\n <span className=\"lc-term\">Anywhere:</span> the task URL{\" \"}\n <span className=\"code\">\n https://app.activecollab.com/1/projects/2110/tasks/{TASK_ID}\n </span>\n </Body2>\n </li>\n </ul>\n\n <div className=\"lc-invite\">\n <Body2 color=\"secondary\">\n Give the branch a name with the task number in it and it links the\n moment you push. Create one from the suggested name:\n </Body2>\n {loading ? (\n <SkeletonLoader className=\"lc-copy-skel\" />\n ) : (\n <div className=\"lc-copy\">\n <code>{command}</code>\n <Tooltip title={copied ? \"Copied!\" : \"Copy\"}>\n <button\n type=\"button\"\n className=\"lc-copy-btn\"\n onClick={copy}\n aria-label=\"Copy command\"\n >\n <CopyIcon />\n </button>\n </Tooltip>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nconst CommandsTab = (): ReactElement => (\n <div className=\"lc-tabbody\">\n <Body2 color=\"secondary\">\n The table below lists magic words and slash commands that you can use in a\n commit message or a pull request description to act on the linked task.\n Example:\n </Body2>\n <pre className=\"lc-example\">{EXAMPLE_COMMIT}</pre>\n <table>\n <thead>\n <tr>\n <th>Command</th>\n <th>What it does</th>\n </tr>\n </thead>\n <tbody>\n {COMMANDS.map((c) => (\n <tr key={c.cmd}>\n <td>\n <span className=\"code\">{c.cmd}</span>\n </td>\n <td>\n <Body2 color=\"secondary\">{c.does}</Body2>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n);\n\nexport const LinkingCommandsButton = (): ReactElement => {\n const [open, setOpen] = useState(false);\n const [tab, setTab] = useState<LcTab>(\"linking\");\n const [branchLoading, setBranchLoading] = useState(true);\n const [suggestedBranch, setSuggestedBranch] = useState<string | null>(null);\n\n // Mock the suggest-branch-name API load: ~1s skeleton whenever the dialog\n // opens, then reveal the copyable git command.\n useEffect(() => {\n if (!open) return undefined;\n setBranchLoading(true);\n setSuggestedBranch(null);\n const timer = window.setTimeout(() => {\n setSuggestedBranch(SUGGESTED_BRANCH);\n setBranchLoading(false);\n }, 1000);\n return () => window.clearTimeout(timer);\n }, [open]);\n\n const openDialog = (): void => {\n setTab(\"linking\");\n setOpen(true);\n };\n\n return (\n <>\n <StyledButton type=\"button\" onClick={openDialog}>\n <span className=\"lc-btn\">Linking and Commands</span>\n </StyledButton>\n\n <Dialog open={open} onClose={() => setOpen(false)} enableBackgroundClick>\n <Dialog.Title disableDefaultHeading>\n <StyledTitleRow>\n <Header3>Linking and Commands</Header3>\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n onClick={() => setOpen(false)}\n >\n <CancelCrossIcon />\n </IconButton>\n </StyledTitleRow>\n </Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledBody>\n <div className=\"lc-intro\">\n <Body2>\n Keep a task in sync with your code without leaving your editor.\n </Body2>\n <div className=\"lc-lead\">\n <HashIcon />\n <Body2 color=\"secondary\">\n <span className=\"lc-term\">Linking:</span> Mention a task in a\n branch, pull request, or commit and they will be connected\n automatically.\n </Body2>\n </div>\n <div className=\"lc-lead\">\n <CommandLineIcon />\n <Body2 color=\"secondary\">\n <span className=\"lc-term\">Commands:</span> Add short\n instructions in a commit or pull request description to act on\n the task: log time, close it, or leave a comment.\n </Body2>\n </div>\n </div>\n\n <ChooseV2\n className=\"lc-choosectl\"\n options={TAB_OPTIONS}\n selected={[tab]}\n onChange={(ids) => setTab(ids[0] as LcTab)}\n />\n\n {tab === \"linking\" ? (\n <LinkingTab loading={branchLoading} branch={suggestedBranch} />\n ) : (\n <CommandsTab />\n )}\n </StyledBody>\n </Dialog.Content>\n </Dialog>\n </>\n );\n};\n\nLinkingCommandsButton.displayName = \"LinkingCommandsButton\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ /**
3
+ * @component CommandLineIcon
4
+ * @description
5
+ *
6
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
7
+ * The Icon component is
8
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
9
+ *
10
+ * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.
11
+ * Format: "linear-gradient(<angle>deg, <color1>, <color2>, ...)"
12
+ *
13
+ * @example
14
+ * return (
15
+ * <CommandLineIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
16
+ * )
17
+ *
18
+ * @example
19
+ * return (
20
+ * <CommandLineIcon className="mr-2" />
21
+ * )
22
+ *
23
+ * @see
24
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
25
+ * @see
26
+ * https://design.activecollab.com/docs/foundations/icons
27
+ */
28
+ declare const CommandLineIcon: React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement> & {
29
+ gradient?: string;
30
+ }, "ref"> & React.RefAttributes<SVGSVGElement>>;
31
+ export default CommandLineIcon;
32
+ //# sourceMappingURL=CommandLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandLine.d.ts","sourceRoot":"","sources":["../../../../../src/components/Icons/collection/CommandLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,eAAe;eAMJ,MAAM;+CAyBtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["gradient"];
4
+ import React from "react";
5
+ import { GradientDefs } from "../../GradientDefs";
6
+
7
+ /**
8
+ * @component CommandLineIcon
9
+ * @description
10
+ *
11
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
12
+ * The Icon component is
13
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
14
+ *
15
+ * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.
16
+ * Format: "linear-gradient(<angle>deg, <color1>, <color2>, ...)"
17
+ *
18
+ * @example
19
+ * return (
20
+ * <CommandLineIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
21
+ * )
22
+ *
23
+ * @example
24
+ * return (
25
+ * <CommandLineIcon className="mr-2" />
26
+ * )
27
+ *
28
+ * @see
29
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
30
+ * @see
31
+ * https://design.activecollab.com/docs/foundations/icons
32
+ */
33
+ const CommandLineIcon = /*#__PURE__*/React.forwardRef((_ref, ref) => {
34
+ let gradient = _ref.gradient,
35
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
36
+ return /*#__PURE__*/React.createElement("svg", _extends({
37
+ xmlns: "http://www.w3.org/2000/svg",
38
+ width: 24,
39
+ height: 24,
40
+ viewBox: "0 0 24 24",
41
+ "data-testid": "CommandLineIcon",
42
+ fill: gradient ? "url(#icon-gradient)" : props != null && props.fill ? props.fill : "var(--color-theme-600)",
43
+ focusable: false,
44
+ ref: ref
45
+ }, props), /*#__PURE__*/React.createElement(GradientDefs, {
46
+ gradient: gradient
47
+ }), /*#__PURE__*/React.createElement("path", {
48
+ d: "m5.419 7.814 7 5a1 1 0 0 0 1.162-1.628l-7-5a1 1 0 0 0-1.162 1.628m7 3.372-7 5a1 1 0 0 0 1.162 1.628l7-5a1 1 0 0 0-1.162-1.628M15 18h5a1 1 0 0 0 0-2h-5a1 1 0 0 0 0 2"
49
+ }));
50
+ });
51
+ CommandLineIcon.displayName = "CommandLineIcon";
52
+ export default CommandLineIcon;
53
+ //# sourceMappingURL=CommandLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandLine.js","names":["React","GradientDefs","CommandLineIcon","forwardRef","_ref","ref","gradient","props","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","xmlns","width","height","viewBox","fill","focusable","d","displayName"],"sources":["../../../../../src/components/Icons/collection/CommandLine.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { GradientDefs } from \"../../GradientDefs\";\n\n/**\n * @component CommandLineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.\n * Format: \"linear-gradient(<angle>deg, <color1>, <color2>, ...)\"\n *\n * @example\n * return (\n * <CommandLineIcon gradient=\"linear-gradient(135deg, #4da2ed, #f72222)\" />\n * )\n *\n * @example\n * return (\n * <CommandLineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CommandLineIcon = React.forwardRef(\n (\n {\n gradient,\n ...props\n }: React.SVGProps<SVGSVGElement> & {\n gradient?: string;\n },\n ref?: React.Ref<SVGSVGElement>\n ) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n data-testid=\"CommandLineIcon\"\n fill={\n gradient\n ? \"url(#icon-gradient)\"\n : props?.fill\n ? props.fill\n : \"var(--color-theme-600)\"\n }\n focusable={false}\n ref={ref}\n {...props}\n >\n <GradientDefs gradient={gradient} />\n <path d=\"m5.419 7.814 7 5a1 1 0 0 0 1.162-1.628l-7-5a1 1 0 0 0-1.162 1.628m7 3.372-7 5a1 1 0 0 0 1.162 1.628l7-5a1 1 0 0 0-1.162-1.628M15 18h5a1 1 0 0 0 0-2h-5a1 1 0 0 0 0 2\" />\n </svg>\n )\n);\nCommandLineIcon.displayName = \"CommandLineIcon\";\nexport default CommandLineIcon;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,gBAAGF,KAAK,CAACG,UAAU,CACtC,CAAAC,IAAA,EAOEC,GAA8B;EAAA,IAL5BC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACLC,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBAMVT,KAAA,CAAAU,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXC,OAAO,EAAC,WAAW;IACnB,eAAY,iBAAiB;IAC7BC,IAAI,EACFV,QAAQ,GACJ,qBAAqB,GACrBC,KAAK,YAALA,KAAK,CAAES,IAAI,GACXT,KAAK,CAACS,IAAI,GACV,wBACL;IACDC,SAAS,EAAE,KAAM;IACjBZ,GAAG,EAAEA;EAAI,GACLE,KAAK,gBAETP,KAAA,CAAAU,aAAA,CAACT,YAAY;IAACK,QAAQ,EAAEA;EAAS,CAAE,CAAC,eACpCN,KAAA,CAAAU,aAAA;IAAMQ,CAAC,EAAC;EAAsK,CAAE,CAC7K,CAAC;AAAA,CAEV,CAAC;AACDhB,eAAe,CAACiB,WAAW,GAAG,iBAAiB;AAC/C,eAAejB,eAAe","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ /**
3
+ * @component HashIcon
4
+ * @description
5
+ *
6
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
7
+ * The Icon component is
8
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
9
+ *
10
+ * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.
11
+ * Format: "linear-gradient(<angle>deg, <color1>, <color2>, ...)"
12
+ *
13
+ * @example
14
+ * return (
15
+ * <HashIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
16
+ * )
17
+ *
18
+ * @example
19
+ * return (
20
+ * <HashIcon className="mr-2" />
21
+ * )
22
+ *
23
+ * @see
24
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
25
+ * @see
26
+ * https://design.activecollab.com/docs/foundations/icons
27
+ */
28
+ declare const HashIcon: React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement> & {
29
+ gradient?: string;
30
+ }, "ref"> & React.RefAttributes<SVGSVGElement>>;
31
+ export default HashIcon;
32
+ //# sourceMappingURL=Hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../../../../src/components/Icons/collection/Hash.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,QAAQ;eAMG,MAAM;+CAyBtB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,53 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["gradient"];
4
+ import React from "react";
5
+ import { GradientDefs } from "../../GradientDefs";
6
+
7
+ /**
8
+ * @component HashIcon
9
+ * @description
10
+ *
11
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
12
+ * The Icon component is
13
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
14
+ *
15
+ * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.
16
+ * Format: "linear-gradient(<angle>deg, <color1>, <color2>, ...)"
17
+ *
18
+ * @example
19
+ * return (
20
+ * <HashIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
21
+ * )
22
+ *
23
+ * @example
24
+ * return (
25
+ * <HashIcon className="mr-2" />
26
+ * )
27
+ *
28
+ * @see
29
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
30
+ * @see
31
+ * https://design.activecollab.com/docs/foundations/icons
32
+ */
33
+ const HashIcon = /*#__PURE__*/React.forwardRef((_ref, ref) => {
34
+ let gradient = _ref.gradient,
35
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
36
+ return /*#__PURE__*/React.createElement("svg", _extends({
37
+ xmlns: "http://www.w3.org/2000/svg",
38
+ width: 24,
39
+ height: 24,
40
+ viewBox: "0 0 24 24",
41
+ "data-testid": "HashIcon",
42
+ fill: gradient ? "url(#icon-gradient)" : props != null && props.fill ? props.fill : "var(--color-theme-600)",
43
+ focusable: false,
44
+ ref: ref
45
+ }, props), /*#__PURE__*/React.createElement(GradientDefs, {
46
+ gradient: gradient
47
+ }), /*#__PURE__*/React.createElement("path", {
48
+ d: "M6 10.5h12a1 1 0 0 0 0-2H6a1 1 0 0 0 0 2m0 5h12a1 1 0 0 0 0-2H6a1 1 0 0 0 0 2m3.897 4.575 1.2-16a1 1 0 0 0-1.994-.15l-1.2 16a1 1 0 0 0 1.994.15m5 0 1.2-16a1 1 0 0 0-1.994-.15l-1.2 16a1 1 0 0 0 1.994.15"
49
+ }));
50
+ });
51
+ HashIcon.displayName = "HashIcon";
52
+ export default HashIcon;
53
+ //# sourceMappingURL=Hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hash.js","names":["React","GradientDefs","HashIcon","forwardRef","_ref","ref","gradient","props","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","xmlns","width","height","viewBox","fill","focusable","d","displayName"],"sources":["../../../../../src/components/Icons/collection/Hash.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { GradientDefs } from \"../../GradientDefs\";\n\n/**\n * @component HashIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill.\n * Format: \"linear-gradient(<angle>deg, <color1>, <color2>, ...)\"\n *\n * @example\n * return (\n * <HashIcon gradient=\"linear-gradient(135deg, #4da2ed, #f72222)\" />\n * )\n *\n * @example\n * return (\n * <HashIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst HashIcon = React.forwardRef(\n (\n {\n gradient,\n ...props\n }: React.SVGProps<SVGSVGElement> & {\n gradient?: string;\n },\n ref?: React.Ref<SVGSVGElement>\n ) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n data-testid=\"HashIcon\"\n fill={\n gradient\n ? \"url(#icon-gradient)\"\n : props?.fill\n ? props.fill\n : \"var(--color-theme-600)\"\n }\n focusable={false}\n ref={ref}\n {...props}\n >\n <GradientDefs gradient={gradient} />\n <path d=\"M6 10.5h12a1 1 0 0 0 0-2H6a1 1 0 0 0 0 2m0 5h12a1 1 0 0 0 0-2H6a1 1 0 0 0 0 2m3.897 4.575 1.2-16a1 1 0 0 0-1.994-.15l-1.2 16a1 1 0 0 0 1.994.15m5 0 1.2-16a1 1 0 0 0-1.994-.15l-1.2 16a1 1 0 0 0 1.994.15\" />\n </svg>\n )\n);\nHashIcon.displayName = \"HashIcon\";\nexport default HashIcon;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAQ,gBAAGF,KAAK,CAACG,UAAU,CAC/B,CAAAC,IAAA,EAOEC,GAA8B;EAAA,IAL5BC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACLC,KAAK,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBAMVT,KAAA,CAAAU,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXC,OAAO,EAAC,WAAW;IACnB,eAAY,UAAU;IACtBC,IAAI,EACFV,QAAQ,GACJ,qBAAqB,GACrBC,KAAK,YAALA,KAAK,CAAES,IAAI,GACXT,KAAK,CAACS,IAAI,GACV,wBACL;IACDC,SAAS,EAAE,KAAM;IACjBZ,GAAG,EAAEA;EAAI,GACLE,KAAK,gBAETP,KAAA,CAAAU,aAAA,CAACT,YAAY;IAACK,QAAQ,EAAEA;EAAS,CAAE,CAAC,eACpCN,KAAA,CAAAU,aAAA;IAAMQ,CAAC,EAAC;EAA2M,CAAE,CAClN,CAAC;AAAA,CAEV,CAAC;AACDhB,QAAQ,CAACiB,WAAW,GAAG,UAAU;AACjC,eAAejB,QAAQ","ignoreList":[]}
@@ -120,6 +120,8 @@ export { default as GitRepositoryIcon } from "./GitRepository";
120
120
  export { default as GitRepositoryConnectIcon } from "./GitRepositoryConnect";
121
121
  export { default as GroupByIcon } from "./GroupBy";
122
122
  export { default as HashtagIcon } from "./Hashtag";
123
+ export { default as HashIcon } from "./Hash";
124
+ export { default as CommandLineIcon } from "./CommandLine";
123
125
  export { default as HelpIcon } from "./Help";
124
126
  export { default as HistoryOfChangesIcon } from "./HistoryOfChanges";
125
127
  export { default as ImageIcon } from "./Image";