@truedat/dd 8.5.7 → 8.5.8

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 (39) hide show
  1. package/package.json +3 -3
  2. package/src/components/StructureGrantDropdown.js +2 -2
  3. package/src/components/StructureGrantRequestButton.js +1 -1
  4. package/src/components/StructureNoteActions.js +59 -34
  5. package/src/components/StructuresDomainsUploadOption.js +1 -0
  6. package/src/components/StructuresDownloadOption.js +1 -0
  7. package/src/components/StructuresEditableDownloadOption.js +1 -0
  8. package/src/components/StructuresUpdateOption.js +1 -0
  9. package/src/components/StructuresUploadOption.js +1 -0
  10. package/src/components/SystemCreateOption.js +1 -0
  11. package/src/components/__tests__/StructureNoteActions.spec.js +113 -2
  12. package/src/components/__tests__/__snapshots__/AddStructureMember.spec.js.snap +1 -1
  13. package/src/components/__tests__/__snapshots__/EditDomainForm.spec.js.snap +4 -2
  14. package/src/components/__tests__/__snapshots__/GrantApprovalRuleEdit.spec.js.snap +2 -6
  15. package/src/components/__tests__/__snapshots__/GrantApprovalRuleForm.spec.js.snap +7 -9
  16. package/src/components/__tests__/__snapshots__/GrantApprovalRuleNew.spec.js.snap +5 -3
  17. package/src/components/__tests__/__snapshots__/LineageForm.spec.js.snap +4 -2
  18. package/src/components/__tests__/__snapshots__/PendingStructureNotes.spec.js.snap +1 -1
  19. package/src/components/__tests__/__snapshots__/ReferenceDataset.spec.js.snap +13 -5
  20. package/src/components/__tests__/__snapshots__/ReferenceDatasetActions.spec.js.snap +6 -2
  21. package/src/components/__tests__/__snapshots__/ReferenceDatasetCreate.spec.js.snap +5 -3
  22. package/src/components/__tests__/__snapshots__/ReferenceDatasetForm.spec.js.snap +1 -1
  23. package/src/components/__tests__/__snapshots__/ReferenceDatasetHeader.spec.js.snap +6 -2
  24. package/src/components/__tests__/__snapshots__/StructureGrantCartCheckout.spec.js.snap +7 -7
  25. package/src/components/__tests__/__snapshots__/StructureNoteActions.spec.js.snap +5 -1
  26. package/src/components/__tests__/__snapshots__/StructureNotesEdit.spec.js.snap +2 -2
  27. package/src/components/__tests__/__snapshots__/StructureSummary.spec.js.snap +2 -0
  28. package/src/components/__tests__/__snapshots__/StructureType.spec.js.snap +1 -1
  29. package/src/components/__tests__/__snapshots__/StructureTypeForm.spec.js.snap +1 -1
  30. package/src/components/__tests__/__snapshots__/StructuresBulkUpdate.spec.js.snap +3 -3
  31. package/src/components/__tests__/__snapshots__/StructuresDownloadOption.spec.js.snap +2 -2
  32. package/src/components/__tests__/__snapshots__/StructuresEditableDownloadOption.spec.js.snap +1 -1
  33. package/src/components/__tests__/__snapshots__/StructuresOptions.spec.js.snap +4 -4
  34. package/src/components/__tests__/__snapshots__/StructuresUpdateOption.spec.js.snap +1 -1
  35. package/src/components/__tests__/__snapshots__/StructuresUploadOption.spec.js.snap +2 -2
  36. package/src/components/__tests__/__snapshots__/SystemCreateOption.spec.js.snap +1 -1
  37. package/src/components/__tests__/__snapshots__/SystemForm.spec.js.snap +1 -1
  38. package/src/components/__tests__/__snapshots__/Tag.spec.js.snap +1 -1
  39. package/src/components/__tests__/__snapshots__/TagForm.spec.js.snap +5 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truedat/dd",
3
- "version": "8.5.7",
3
+ "version": "8.5.8",
4
4
  "description": "Truedat Web Data Dictionary",
5
5
  "sideEffects": false,
6
6
  "module": "src/index.js",
@@ -51,7 +51,7 @@
51
51
  "@testing-library/jest-dom": "^6.6.3",
52
52
  "@testing-library/react": "^16.3.0",
53
53
  "@testing-library/user-event": "^14.6.1",
54
- "@truedat/test": "8.5.7",
54
+ "@truedat/test": "8.5.8",
55
55
  "identity-obj-proxy": "^3.0.0",
56
56
  "jest": "^29.7.0",
57
57
  "redux-saga-test-plan": "^4.0.6"
@@ -86,5 +86,5 @@
86
86
  "svg-pan-zoom": "^3.6.2",
87
87
  "swr": "^2.3.3"
88
88
  },
89
- "gitHead": "871357888d97c203cf009a04878e0277cff6af9b"
89
+ "gitHead": "61ad9443b3d822d30dcfa977f5fad3494b3ed5b4"
90
90
  }
@@ -135,7 +135,7 @@ export const StructureGrantDropdown = ({
135
135
  default:
136
136
  return <div key={field}>{_.get(field)(grant)}</div>;
137
137
  }
138
- })
138
+ }),
139
139
  )(structureGrantPopup);
140
140
 
141
141
  const grantRequestDetails = grantRequestStatus ? (
@@ -177,7 +177,7 @@ export const StructureGrantDropdown = ({
177
177
  <Button
178
178
  size={size || "medium"}
179
179
  color={stateProps.color}
180
- className="button basic icon group-actions"
180
+ className={`button basic icon group-actions${hasText ? " td-icon-text-control" : ""}`}
181
181
  icon={iconName || null}
182
182
  content={hasText ? buttonContent : null}
183
183
  />
@@ -44,7 +44,7 @@ export const StructureGrantRequestButton = ({
44
44
  size={size || "medium"}
45
45
  icon={iconName || null}
46
46
  content={hasText ? buttonContent : null}
47
- className="button basic icon group-actions"
47
+ className={`button basic icon group-actions${hasText ? " td-icon-text-control" : ""}`}
48
48
  color={requested ? "blue" : "orange"}
49
49
  onClick={requested ? removeRequest : addRequest}
50
50
  />
@@ -2,43 +2,65 @@ import _ from "lodash/fp";
2
2
  import { Link } from "react-router";
3
3
  import { connect } from "react-redux";
4
4
  import PropTypes from "prop-types";
5
- import { Button, Icon } from "semantic-ui-react";
5
+ import { Icon } from "semantic-ui-react";
6
6
  import { FormattedMessage } from "react-intl";
7
7
  import { ConfirmModal, GroupActions } from "@truedat/core/components";
8
8
  import { linkTo } from "@truedat/core/routes";
9
9
  import { doStructureNoteAction } from "../routines";
10
10
 
11
- export const ModalDelete = ({ modalOnConfirm, modalAction, modalIcon }) => (
12
- <ConfirmModal
13
- icon="trash"
14
- trigger={
15
- <Button icon={modalIcon}>
16
- <Icon name={modalIcon} color={"red"} />
11
+ const ModalDelete = ({
12
+ className,
13
+ closeDropdown,
14
+ modalOnConfirm,
15
+ modalAction,
16
+ modalIcon,
17
+ onClick,
18
+ ...triggerProps
19
+ }) => {
20
+ const handleClose = (event) => {
21
+ event?.stopPropagation?.();
22
+ closeDropdown?.();
23
+ };
24
+
25
+ return (
26
+ <ConfirmModal
27
+ icon="trash"
28
+ trigger={
29
+ <span {...triggerProps} className={className} onClick={onClick}>
30
+ <Icon name={modalIcon} color={"red"} />
31
+ <span className="text">
32
+ <FormattedMessage
33
+ id={`structure.notes.actions.${modalAction}`}
34
+ defaultMessage={modalAction}
35
+ />
36
+ </span>
37
+ </span>
38
+ }
39
+ header={
17
40
  <FormattedMessage
18
- id={`structure.notes.actions.${modalAction}`}
19
- defaultMessage={modalAction}
41
+ id={`structure.notes.actions.${modalAction}.confirmation.header`}
20
42
  />
21
- </Button>
22
- }
23
- header={
24
- <FormattedMessage
25
- id={`structure.notes.actions.${modalAction}.confirmation.header`}
26
- />
27
- }
28
- size="small"
29
- content={
30
- <FormattedMessage
31
- id={`structure.notes.actions.${modalAction}.confirmation.content`}
32
- />
33
- }
34
- onConfirm={modalOnConfirm}
35
- />
36
- );
43
+ }
44
+ size="small"
45
+ content={
46
+ <FormattedMessage
47
+ id={`structure.notes.actions.${modalAction}.confirmation.content`}
48
+ />
49
+ }
50
+ onClose={handleClose}
51
+ onConfirm={modalOnConfirm}
52
+ />
53
+ );
54
+ };
37
55
 
38
56
  ModalDelete.propTypes = {
57
+ className: PropTypes.string,
58
+ closeDropdown: PropTypes.func,
39
59
  modalOnConfirm: PropTypes.func,
40
60
  modalText: PropTypes.object,
41
61
  modalAction: PropTypes.string,
62
+ modalIcon: PropTypes.string,
63
+ onClick: PropTypes.func,
42
64
  };
43
65
 
44
66
  export const StructureNoteActions = ({
@@ -48,11 +70,11 @@ export const StructureNoteActions = ({
48
70
  }) => {
49
71
  const actionToIcon = {
50
72
  deleted: "trash alternate outline",
51
- edited: "edit",
73
+ edited: "pencil alternate",
52
74
  rejected: "thumbs down outline",
53
- published: "paper plane",
75
+ published: "share square",
54
76
  draft: "undo",
55
- pending_approval: "jenkins",
77
+ pending_approval: "clipboard check",
56
78
  deprecated: "archive",
57
79
  };
58
80
 
@@ -78,16 +100,19 @@ export const StructureNoteActions = ({
78
100
  ),
79
101
  as: actionToAs(action),
80
102
  to: actionToTo(action),
81
- onClick: () =>
82
- action !== "edited" &&
83
- doStructureNoteAction({
84
- action: data,
85
- dataStructureId: structure?.id,
86
- }),
103
+ onClick:
104
+ action === "edited" || withModal(action)
105
+ ? undefined
106
+ : () =>
107
+ doStructureNoteAction({
108
+ action: data,
109
+ dataStructureId: structure?.id,
110
+ }),
87
111
  };
88
112
  return withModal(action)
89
113
  ? {
90
114
  ...baseAction,
115
+ closeDropdownOnClose: true,
91
116
  modalOnConfirm: () =>
92
117
  doStructureNoteAction({
93
118
  action: data,
@@ -16,6 +16,7 @@ export const StructuresDomainsUploadOption = ({
16
16
  icon="upload"
17
17
  trigger={
18
18
  <Dropdown.Item
19
+ className="td-icon-text-control"
19
20
  icon="upload"
20
21
  text={formatMessage({
21
22
  id: "structures.actions.uploadDomains.tooltip",
@@ -49,6 +49,7 @@ export const StructuresDownloadOption = ({ setDownloading }) => {
49
49
 
50
50
  return !structuresLoading ? (
51
51
  <Dropdown.Item
52
+ className="td-icon-text-control"
52
53
  icon="download"
53
54
  content={
54
55
  <>
@@ -33,6 +33,7 @@ export const StructuresEditableDownloadOption = ({
33
33
  return (
34
34
  !structuresLoading && (
35
35
  <Dropdown.Item
36
+ className="td-icon-text-control"
36
37
  icon="download"
37
38
  content={
38
39
  <>
@@ -79,6 +79,7 @@ export const StructuresUpdateOption = ({
79
79
  return (
80
80
  authorized && (
81
81
  <Dropdown.Item
82
+ className="td-icon-text-control"
82
83
  icon="refresh"
83
84
  onClick={navigateToBulkUpdate}
84
85
  disabled={disabled}
@@ -45,6 +45,7 @@ export const StructuresUploadOption = ({ canAutoPublish }) => {
45
45
  icon="upload"
46
46
  trigger={
47
47
  <Dropdown.Item
48
+ className="td-icon-text-control"
48
49
  icon="upload"
49
50
  text={formatMessage({ id: "structures.actions.upload.tooltip" })}
50
51
  disabled={structuresUploading}
@@ -10,6 +10,7 @@ export const SystemCreateOption = () => {
10
10
  return (
11
11
  authorized && (
12
12
  <Dropdown.Item
13
+ className="td-icon-text-control"
13
14
  icon="plus square outline"
14
15
  as={Link}
15
16
  to={SYSTEM_NEW}
@@ -23,6 +23,7 @@ describe("<StructureNoteActions />", () => {
23
23
 
24
24
  it("invokes opens modal when clicking a delete or deprecate action", async () => {
25
25
  const doStructureNoteAction = jest.fn();
26
+ const user = userEvent.setup({ delay: null });
26
27
  const props = {
27
28
  doStructureNoteAction,
28
29
  actions: {
@@ -38,8 +39,33 @@ describe("<StructureNoteActions />", () => {
38
39
  const rendered = render(<StructureNoteActions {...props} />);
39
40
  await waitForLoad(rendered);
40
41
 
41
- userEvent.click(await rendered.findByText(/deleted/i));
42
- userEvent.click(await rendered.findByText(/yes/i));
42
+ expect(
43
+ (await rendered.findByText(/deleted/i)).closest(".item.td-icon-text-control")
44
+ ).toBeInTheDocument();
45
+ expect(
46
+ rendered.container.querySelector(
47
+ ".item.td-icon-text-control .red.trash.alternate.outline.icon"
48
+ )
49
+ ).toBeInTheDocument();
50
+
51
+ await user.click(await rendered.findByRole("listbox"));
52
+ expect(await rendered.findByRole("listbox")).toHaveAttribute(
53
+ "aria-expanded",
54
+ "true"
55
+ );
56
+
57
+ const deleteOption = rendered.container.querySelector(
58
+ ".item.td-icon-text-control"
59
+ );
60
+ expect(deleteOption).toBeInTheDocument();
61
+ await user.click(deleteOption);
62
+ expect(doStructureNoteAction).not.toHaveBeenCalled();
63
+ expect(await rendered.findByRole("listbox")).toHaveAttribute(
64
+ "aria-expanded",
65
+ "false"
66
+ );
67
+
68
+ await user.click(await rendered.findByText(/yes/i));
43
69
 
44
70
  await waitFor(() => {
45
71
  expect(doStructureNoteAction.mock.calls.length).toBe(1);
@@ -56,6 +82,49 @@ describe("<StructureNoteActions />", () => {
56
82
  );
57
83
  });
58
84
 
85
+ it("keeps the dropdown closed when delete confirmation is cancelled", async () => {
86
+ const doStructureNoteAction = jest.fn();
87
+ const user = userEvent.setup({ delay: null });
88
+ const props = {
89
+ doStructureNoteAction,
90
+ actions: {
91
+ deleted: {
92
+ href: "url",
93
+ input: { foo: "bar" },
94
+ method: "method",
95
+ },
96
+ },
97
+ structure: { id: 1 },
98
+ };
99
+
100
+ const rendered = render(<StructureNoteActions {...props} />);
101
+ await waitForLoad(rendered);
102
+
103
+ await user.click(await rendered.findByRole("listbox"));
104
+ expect(await rendered.findByRole("listbox")).toHaveAttribute(
105
+ "aria-expanded",
106
+ "true"
107
+ );
108
+
109
+ const deleteOption = rendered.container.querySelector(
110
+ ".item.td-icon-text-control"
111
+ );
112
+ expect(deleteOption).toBeInTheDocument();
113
+ await user.click(deleteOption);
114
+ expect(await rendered.findByRole("listbox")).toHaveAttribute(
115
+ "aria-expanded",
116
+ "false"
117
+ );
118
+
119
+ await user.click(await rendered.findByLabelText("modal-negative-action"));
120
+
121
+ expect(doStructureNoteAction).not.toHaveBeenCalled();
122
+ expect(await rendered.findByRole("listbox")).toHaveAttribute(
123
+ "aria-expanded",
124
+ "false"
125
+ );
126
+ });
127
+
59
128
  it("calls doStructureNoteAction when action is pending_approval", async () => {
60
129
  const doStructureNoteAction = jest.fn();
61
130
  const props = {
@@ -89,4 +158,46 @@ describe("<StructureNoteActions />", () => {
89
158
  })
90
159
  );
91
160
  });
161
+
162
+ it("renders the expected icons for edited, published and pending_approval", async () => {
163
+ const props = {
164
+ doStructureNoteAction: () => {},
165
+ actions: {
166
+ edited: {
167
+ href: "edit-url",
168
+ method: "GET",
169
+ },
170
+ published: {
171
+ href: "publish-url",
172
+ input: { status: "published" },
173
+ method: "PATCH",
174
+ },
175
+ pending_approval: {
176
+ href: "approval-url",
177
+ input: { status: "pending_approval" },
178
+ method: "PATCH",
179
+ },
180
+ },
181
+ structure: { id: 1 },
182
+ };
183
+
184
+ const rendered = render(<StructureNoteActions {...props} />);
185
+ await waitForLoad(rendered);
186
+
187
+ expect(
188
+ (await rendered.findByText(/edited/i))
189
+ .closest(".item")
190
+ .querySelector(".pencil.alternate.icon")
191
+ ).toBeInTheDocument();
192
+ expect(
193
+ (await rendered.findByText(/published/i))
194
+ .closest(".item")
195
+ .querySelector(".share.square.icon")
196
+ ).toBeInTheDocument();
197
+ expect(
198
+ (await rendered.findByText(/pending_approval/i))
199
+ .closest(".item")
200
+ .querySelector(".clipboard.check.icon")
201
+ ).toBeInTheDocument();
202
+ });
92
203
  });
@@ -147,7 +147,7 @@ exports[`<AddStructureMember /> matches the latest snapshot 1`] = `
147
147
  domain.actions.add_member
148
148
  </button>
149
149
  <a
150
- class="ui secondary button"
150
+ class="ui secondary button td-icon-text-control"
151
151
  data-discover="true"
152
152
  href="/"
153
153
  role="button"
@@ -31,9 +31,11 @@ exports[`<EditDomainForm /> matches the latest snapshot 1`] = `
31
31
  role="listbox"
32
32
  tabindex="0"
33
33
  >
34
- <label>
34
+ <div
35
+ class="default text"
36
+ >
35
37
  domain.multiple.placeholder
36
- </label>
38
+ </div>
37
39
  <i
38
40
  aria-hidden="true"
39
41
  class="dropdown icon"
@@ -41,13 +41,9 @@ exports[`<GrantApprovalRuleEdit /> matches the last snapshot 1`] = `
41
41
  tabindex="0"
42
42
  >
43
43
  <div
44
- class="ui label"
44
+ class="text"
45
45
  >
46
46
  fooDomain
47
- <i
48
- aria-hidden="true"
49
- class="delete icon"
50
- />
51
47
  </div>
52
48
  <i
53
49
  aria-hidden="true"
@@ -528,7 +524,7 @@ exports[`<GrantApprovalRuleEdit /> matches the last snapshot 1`] = `
528
524
  class="actions"
529
525
  >
530
526
  <a
531
- class="ui secondary button"
527
+ class="ui secondary button td-icon-text-control"
532
528
  data-discover="true"
533
529
  href="/"
534
530
  role="button"
@@ -41,13 +41,9 @@ exports[`<GrantApprovalRuleForm /> matches the last snapshot 1`] = `
41
41
  tabindex="0"
42
42
  >
43
43
  <div
44
- class="ui label"
44
+ class="text"
45
45
  >
46
46
  fooDomain
47
- <i
48
- aria-hidden="true"
49
- class="delete icon"
50
- />
51
47
  </div>
52
48
  <i
53
49
  aria-hidden="true"
@@ -776,7 +772,7 @@ exports[`<GrantApprovalRuleForm /> matches the last snapshot 1`] = `
776
772
  class="actions"
777
773
  >
778
774
  <a
779
- class="ui secondary button"
775
+ class="ui secondary button td-icon-text-control"
780
776
  data-discover="true"
781
777
  href="/"
782
778
  role="button"
@@ -836,9 +832,11 @@ exports[`<GrantApprovalRuleForm /> matches the last snapshot for new rule 1`] =
836
832
  role="listbox"
837
833
  tabindex="0"
838
834
  >
839
- <label>
835
+ <div
836
+ class="default text"
837
+ >
840
838
  domain.selector.placeholder
841
- </label>
839
+ </div>
842
840
  <i
843
841
  aria-hidden="true"
844
842
  class="dropdown icon"
@@ -1314,7 +1312,7 @@ exports[`<GrantApprovalRuleForm /> matches the last snapshot for new rule 1`] =
1314
1312
  class="actions"
1315
1313
  >
1316
1314
  <a
1317
- class="ui secondary button"
1315
+ class="ui secondary button td-icon-text-control"
1318
1316
  data-discover="true"
1319
1317
  href="/"
1320
1318
  role="button"
@@ -40,9 +40,11 @@ exports[`<GrantApprovalRuleNew /> matches the last snapshot 1`] = `
40
40
  role="listbox"
41
41
  tabindex="0"
42
42
  >
43
- <label>
43
+ <div
44
+ class="default text"
45
+ >
44
46
  domain.selector.placeholder
45
- </label>
47
+ </div>
46
48
  <i
47
49
  aria-hidden="true"
48
50
  class="dropdown icon"
@@ -491,7 +493,7 @@ exports[`<GrantApprovalRuleNew /> matches the last snapshot 1`] = `
491
493
  class="actions"
492
494
  >
493
495
  <a
494
- class="ui secondary button"
496
+ class="ui secondary button td-icon-text-control"
495
497
  data-discover="true"
496
498
  href="/"
497
499
  role="button"
@@ -38,9 +38,11 @@ exports[`<LineageForm /> matches the latest snapshot 1`] = `
38
38
  role="listbox"
39
39
  tabindex="0"
40
40
  >
41
- <label>
41
+ <div
42
+ class="default text"
43
+ >
42
44
  domain.selector.placeholder
43
- </label>
45
+ </div>
44
46
  <i
45
47
  aria-hidden="true"
46
48
  class="dropdown icon"
@@ -40,7 +40,7 @@ exports[`<PendingStructureNotes /> matches the latest snapshot 1`] = `
40
40
  >
41
41
  <div
42
42
  aria-disabled="false"
43
- class="item"
43
+ class="item td-icon-text-control"
44
44
  role="option"
45
45
  >
46
46
  <i
@@ -72,13 +72,17 @@ exports[`<ReferenceDataset /> edit dataset view matches the latest snapshot 1`]
72
72
  aria-hidden="true"
73
73
  class="ellipsis vertical icon"
74
74
  />
75
+ <i
76
+ aria-hidden="true"
77
+ class="dropdown icon"
78
+ />
75
79
  <div
76
80
  class="left menu transition"
77
81
  >
78
82
  <a
79
83
  aria-checked="false"
80
84
  aria-selected="true"
81
- class="selected item"
85
+ class="selected item td-icon-text-control"
82
86
  role="option"
83
87
  style="pointer-events: all;"
84
88
  >
@@ -95,7 +99,7 @@ exports[`<ReferenceDataset /> edit dataset view matches the latest snapshot 1`]
95
99
  <a
96
100
  aria-checked="false"
97
101
  aria-selected="false"
98
- class="item"
102
+ class="item td-icon-text-control"
99
103
  data-discover="true"
100
104
  href="/referenceDatasets/123/edit"
101
105
  role="option"
@@ -278,7 +282,7 @@ exports[`<ReferenceDataset /> edit dataset view matches the latest snapshot 1`]
278
282
  actions.save
279
283
  </button>
280
284
  <a
281
- class="ui secondary button"
285
+ class="ui secondary button td-icon-text-control"
282
286
  data-discover="true"
283
287
  href="/edit"
284
288
  role="button"
@@ -363,13 +367,17 @@ exports[`<ReferenceDataset /> show dataset view matches the latest snapshot 1`]
363
367
  aria-hidden="true"
364
368
  class="ellipsis vertical icon"
365
369
  />
370
+ <i
371
+ aria-hidden="true"
372
+ class="dropdown icon"
373
+ />
366
374
  <div
367
375
  class="left menu transition"
368
376
  >
369
377
  <a
370
378
  aria-checked="false"
371
379
  aria-selected="true"
372
- class="selected item"
380
+ class="selected item td-icon-text-control"
373
381
  role="option"
374
382
  style="pointer-events: all;"
375
383
  >
@@ -386,7 +394,7 @@ exports[`<ReferenceDataset /> show dataset view matches the latest snapshot 1`]
386
394
  <a
387
395
  aria-checked="false"
388
396
  aria-selected="false"
389
- class="item"
397
+ class="item td-icon-text-control"
390
398
  data-discover="true"
391
399
  href="/referenceDatasets/123/edit"
392
400
  role="option"
@@ -12,13 +12,17 @@ exports[`<ReferenceDatasetActions /> matches the latest snapshot 1`] = `
12
12
  aria-hidden="true"
13
13
  class="ellipsis vertical icon"
14
14
  />
15
+ <i
16
+ aria-hidden="true"
17
+ class="dropdown icon"
18
+ />
15
19
  <div
16
20
  class="left menu transition"
17
21
  >
18
22
  <a
19
23
  aria-checked="false"
20
24
  aria-selected="true"
21
- class="selected item"
25
+ class="selected item td-icon-text-control"
22
26
  role="option"
23
27
  style="pointer-events: all;"
24
28
  >
@@ -35,7 +39,7 @@ exports[`<ReferenceDatasetActions /> matches the latest snapshot 1`] = `
35
39
  <a
36
40
  aria-checked="false"
37
41
  aria-selected="false"
38
- class="item"
42
+ class="item td-icon-text-control"
39
43
  data-discover="true"
40
44
  href="/referenceDatasets/123/edit"
41
45
  role="option"
@@ -55,9 +55,11 @@ exports[`<ReferenceDatasetCreate /> matches the latest snapshot 1`] = `
55
55
  role="listbox"
56
56
  tabindex="0"
57
57
  >
58
- <label>
58
+ <div
59
+ class="default text"
60
+ >
59
61
  domain.multiple.placeholder
60
- </label>
62
+ </div>
61
63
  <i
62
64
  aria-hidden="true"
63
65
  class="dropdown icon"
@@ -183,7 +185,7 @@ exports[`<ReferenceDatasetCreate /> matches the latest snapshot 1`] = `
183
185
  actions.save
184
186
  </button>
185
187
  <a
186
- class="ui secondary button"
188
+ class="ui secondary button td-icon-text-control"
187
189
  data-discover="true"
188
190
  href="/"
189
191
  role="button"
@@ -152,7 +152,7 @@ exports[`<ReferenceDatasetForm /> matches the latest snapshot 1`] = `
152
152
  actions.save
153
153
  </button>
154
154
  <a
155
- class="ui secondary button"
155
+ class="ui secondary button td-icon-text-control"
156
156
  data-discover="true"
157
157
  href="/"
158
158
  role="button"
@@ -49,13 +49,17 @@ exports[`<ReferenceDatasetHeader /> matches the latest snapshot 1`] = `
49
49
  aria-hidden="true"
50
50
  class="ellipsis vertical icon"
51
51
  />
52
+ <i
53
+ aria-hidden="true"
54
+ class="dropdown icon"
55
+ />
52
56
  <div
53
57
  class="left menu transition"
54
58
  >
55
59
  <a
56
60
  aria-checked="false"
57
61
  aria-selected="true"
58
- class="selected item"
62
+ class="selected item td-icon-text-control"
59
63
  role="option"
60
64
  style="pointer-events: all;"
61
65
  >
@@ -72,7 +76,7 @@ exports[`<ReferenceDatasetHeader /> matches the latest snapshot 1`] = `
72
76
  <a
73
77
  aria-checked="false"
74
78
  aria-selected="false"
75
- class="item"
79
+ class="item td-icon-text-control"
76
80
  data-discover="true"
77
81
  href="/referenceDatasets/123/edit"
78
82
  role="option"
@@ -28,7 +28,7 @@ exports[`StructureGrantCartCheckout matches snapshot when modification grant (si
28
28
  class="right aligned eight wide column"
29
29
  >
30
30
  <a
31
- class="ui secondary button"
31
+ class="ui secondary button td-icon-text-control"
32
32
  data-discover="true"
33
33
  href="/"
34
34
  role="button"
@@ -102,7 +102,7 @@ exports[`StructureGrantCartCheckout matches snapshot when multi-system (gr scope
102
102
  class="right aligned eight wide column"
103
103
  >
104
104
  <a
105
- class="ui secondary button"
105
+ class="ui secondary button td-icon-text-control"
106
106
  data-discover="true"
107
107
  href="/"
108
108
  role="button"
@@ -261,7 +261,7 @@ exports[`StructureGrantCartCheckout matches snapshot when single flow without mo
261
261
  class="right aligned eight wide column"
262
262
  >
263
263
  <a
264
- class="ui secondary button"
264
+ class="ui secondary button td-icon-text-control"
265
265
  data-discover="true"
266
266
  href="/"
267
267
  role="button"
@@ -333,7 +333,7 @@ exports[`StructureGrantCartCheckout matches snapshot with gr scope - shows syste
333
333
  class="right aligned eight wide column"
334
334
  >
335
335
  <a
336
- class="ui secondary button"
336
+ class="ui secondary button td-icon-text-control"
337
337
  data-discover="true"
338
338
  href="/"
339
339
  role="button"
@@ -546,7 +546,7 @@ exports[`StructureGrantCartCheckout matches snapshot with group_by_domain enable
546
546
  class="right aligned eight wide column"
547
547
  >
548
548
  <a
549
- class="ui secondary button"
549
+ class="ui secondary button td-icon-text-control"
550
550
  data-discover="true"
551
551
  href="/"
552
552
  role="button"
@@ -834,7 +834,7 @@ exports[`StructureGrantCartCheckout matches snapshot with single domain - shows
834
834
  class="right aligned eight wide column"
835
835
  >
836
836
  <a
837
- class="ui secondary button"
837
+ class="ui secondary button td-icon-text-control"
838
838
  data-discover="true"
839
839
  href="/"
840
840
  role="button"
@@ -993,7 +993,7 @@ exports[`StructureGrantCartCheckout matches snapshot without gr scope - does not
993
993
  class="right aligned eight wide column"
994
994
  >
995
995
  <a
996
- class="ui secondary button"
996
+ class="ui secondary button td-icon-text-control"
997
997
  data-discover="true"
998
998
  href="/"
999
999
  role="button"
@@ -12,13 +12,17 @@ exports[`<StructureNoteActions /> matches the latest snapshot 1`] = `
12
12
  aria-hidden="true"
13
13
  class="ellipsis vertical icon"
14
14
  />
15
+ <i
16
+ aria-hidden="true"
17
+ class="dropdown icon"
18
+ />
15
19
  <div
16
20
  class="left menu transition"
17
21
  >
18
22
  <div
19
23
  aria-checked="false"
20
24
  aria-selected="true"
21
- class="selected item"
25
+ class="selected item td-icon-text-control"
22
26
  role="option"
23
27
  style="pointer-events: all;"
24
28
  >
@@ -14,7 +14,7 @@ exports[`<StructureNotesEdit /> matches the latest snapshot 1`] = `
14
14
  actions.save
15
15
  </button>
16
16
  <a
17
- class="ui secondary button"
17
+ class="ui secondary button td-icon-text-control"
18
18
  data-discover="true"
19
19
  href="/"
20
20
  role="button"
@@ -64,7 +64,7 @@ exports[`<StructureNotesEdit /> matches the latest snapshot with ai suggestion a
64
64
  actions.save
65
65
  </button>
66
66
  <a
67
- class="ui secondary button"
67
+ class="ui secondary button td-icon-text-control"
68
68
  data-discover="true"
69
69
  href="/"
70
70
  role="button"
@@ -45,6 +45,7 @@ exports[`<StructureSummary /> matches the latest snapshot 1`] = `
45
45
  />
46
46
  <button
47
47
  class="ui basic icon button button icon group-actions"
48
+ data-position="top center"
48
49
  data-tooltip="Sharing"
49
50
  >
50
51
  <i
@@ -202,6 +203,7 @@ exports[`<StructureSummary /> matches the latest snapshot with alias 1`] = `
202
203
  />
203
204
  <button
204
205
  class="ui basic icon button button icon group-actions"
206
+ data-position="top center"
205
207
  data-tooltip="Sharing"
206
208
  >
207
209
  <i
@@ -77,7 +77,7 @@ exports[`<StructureType /> matches the latest snapshot 1`] = `
77
77
  Save
78
78
  </button>
79
79
  <a
80
- class="ui secondary button"
80
+ class="ui secondary button td-icon-text-control"
81
81
  data-discover="true"
82
82
  href="/"
83
83
  role="button"
@@ -344,7 +344,7 @@ exports[`<StructureTypeForm /> matches the latest snapshot 1`] = `
344
344
  add metadata view
345
345
  </a>
346
346
  <a
347
- class="ui secondary button"
347
+ class="ui secondary button td-icon-text-control"
348
348
  data-discover="true"
349
349
  href="/"
350
350
  role="button"
@@ -76,7 +76,7 @@ exports[`<StructuresBulkUpdate /> Publish button is available with autoPublish a
76
76
  actions.save
77
77
  </button>
78
78
  <a
79
- class="ui secondary button"
79
+ class="ui secondary button td-icon-text-control"
80
80
  data-discover="true"
81
81
  href="/"
82
82
  role="button"
@@ -164,7 +164,7 @@ exports[`<StructuresBulkUpdate /> Publish button is not available without autoPu
164
164
  actions.save
165
165
  </button>
166
166
  <a
167
- class="ui secondary button"
167
+ class="ui secondary button td-icon-text-control"
168
168
  data-discover="true"
169
169
  href="/"
170
170
  role="button"
@@ -252,7 +252,7 @@ exports[`<StructuresBulkUpdate /> matches the latest snapshot 1`] = `
252
252
  actions.save
253
253
  </button>
254
254
  <a
255
- class="ui secondary button"
255
+ class="ui secondary button td-icon-text-control"
256
256
  data-discover="true"
257
257
  href="/"
258
258
  role="button"
@@ -4,7 +4,7 @@ exports[`<StructuresDownloadOption /> has type filter applied 1`] = `
4
4
  <div>
5
5
  <div
6
6
  aria-disabled="false"
7
- class="item"
7
+ class="item td-icon-text-control"
8
8
  role="option"
9
9
  >
10
10
  <i
@@ -22,7 +22,7 @@ exports[`<StructuresDownloadOption /> matches the latest snapshot 1`] = `
22
22
  <div>
23
23
  <div
24
24
  aria-disabled="false"
25
- class="item"
25
+ class="item td-icon-text-control"
26
26
  role="option"
27
27
  >
28
28
  <i
@@ -4,7 +4,7 @@ exports[`<StructuresEditableDownloadOption /> matches the latest snapshot 1`] =
4
4
  <div>
5
5
  <div
6
6
  aria-disabled="false"
7
- class="item"
7
+ class="item td-icon-text-control"
8
8
  role="option"
9
9
  >
10
10
  <i
@@ -22,7 +22,7 @@ exports[`<StructuresOptions /> matches the latest snapshot 1`] = `
22
22
  />
23
23
  <div
24
24
  aria-disabled="true"
25
- class="disabled item"
25
+ class="disabled item td-icon-text-control"
26
26
  role="option"
27
27
  >
28
28
  <i
@@ -40,7 +40,7 @@ exports[`<StructuresOptions /> matches the latest snapshot 1`] = `
40
40
  </div>
41
41
  <div
42
42
  aria-disabled="true"
43
- class="disabled item"
43
+ class="disabled item td-icon-text-control"
44
44
  role="option"
45
45
  >
46
46
  <i
@@ -58,7 +58,7 @@ exports[`<StructuresOptions /> matches the latest snapshot 1`] = `
58
58
  </div>
59
59
  <div
60
60
  aria-disabled="false"
61
- class="item"
61
+ class="item td-icon-text-control"
62
62
  role="option"
63
63
  >
64
64
  <i
@@ -72,7 +72,7 @@ exports[`<StructuresOptions /> matches the latest snapshot 1`] = `
72
72
  </span>
73
73
  </div>
74
74
  <div
75
- class="item"
75
+ class="item td-icon-text-control"
76
76
  role="option"
77
77
  >
78
78
  <i
@@ -4,7 +4,7 @@ exports[`<StructuresUpdateOption /> matches the latest snapshot 1`] = `
4
4
  <div>
5
5
  <div
6
6
  aria-disabled="false"
7
- class="item"
7
+ class="item td-icon-text-control"
8
8
  role="option"
9
9
  >
10
10
  <i
@@ -4,7 +4,7 @@ exports[`<StructuresUploadOption /> matches the latest snapshot 1`] = `
4
4
  <div>
5
5
  <div
6
6
  aria-disabled="false"
7
- class="item"
7
+ class="item td-icon-text-control"
8
8
  role="option"
9
9
  >
10
10
  <i
@@ -24,7 +24,7 @@ exports[`<StructuresUploadOption /> matches the latest snapshot with auto publis
24
24
  <div>
25
25
  <div
26
26
  aria-disabled="false"
27
- class="item"
27
+ class="item td-icon-text-control"
28
28
  role="option"
29
29
  >
30
30
  <i
@@ -3,7 +3,7 @@
3
3
  exports[`<SystemCreateOption /> matches the latest snapshot 1`] = `
4
4
  <div>
5
5
  <a
6
- class="item"
6
+ class="item td-icon-text-control"
7
7
  data-discover="true"
8
8
  href="/systems/new"
9
9
  role="option"
@@ -75,7 +75,7 @@ exports[`<SystemForm /> matches the latest snapshot 1`] = `
75
75
  class="actions"
76
76
  >
77
77
  <a
78
- class="ui secondary button"
78
+ class="ui secondary button td-icon-text-control"
79
79
  data-discover="true"
80
80
  href="/"
81
81
  role="button"
@@ -96,7 +96,7 @@ exports[`<Tag /> matches the latest snapshot 1`] = `
96
96
  actions.save
97
97
  </button>
98
98
  <a
99
- class="ui secondary button"
99
+ class="ui secondary button td-icon-text-control"
100
100
  data-discover="true"
101
101
  href="/"
102
102
  role="button"
@@ -60,9 +60,11 @@ exports[`<TagForm /> matches the latest snapshot 1`] = `
60
60
  role="listbox"
61
61
  tabindex="0"
62
62
  >
63
- <label>
63
+ <div
64
+ class="default text"
65
+ >
64
66
  domain.multiple.placeholder
65
- </label>
67
+ </div>
66
68
  <i
67
69
  aria-hidden="true"
68
70
  class="dropdown icon"
@@ -117,7 +119,7 @@ exports[`<TagForm /> matches the latest snapshot 1`] = `
117
119
  actions.save
118
120
  </button>
119
121
  <a
120
- class="ui secondary button"
122
+ class="ui secondary button td-icon-text-control"
121
123
  data-discover="true"
122
124
  href="/"
123
125
  role="button"