@guardian/stand 0.0.53 → 0.0.54

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 (36) hide show
  1. package/dist/TagPicker.cjs +1 -1
  2. package/dist/TagPicker.d.cts +1 -1
  3. package/dist/TagPicker.d.ts +1 -1
  4. package/dist/TagPicker.js +1 -1
  5. package/dist/components/TagPicker/Autocomplete.cjs +3 -3
  6. package/dist/components/TagPicker/Autocomplete.js +3 -3
  7. package/dist/components/TagPicker/TagPicker.cjs +15 -10
  8. package/dist/components/TagPicker/TagPicker.d.cts +21 -5
  9. package/dist/components/TagPicker/TagPicker.d.ts +21 -5
  10. package/dist/components/TagPicker/TagPicker.js +15 -10
  11. package/dist/components/TagPicker/TagSearchWithFilters.cjs +6 -3
  12. package/dist/components/TagPicker/TagSearchWithFilters.js +6 -3
  13. package/dist/components/TagPicker/styles.cjs +18 -142
  14. package/dist/components/TagPicker/styles.js +19 -135
  15. package/dist/components/{TagPicker → TagTable}/TagTable.cjs +25 -7
  16. package/dist/components/{TagPicker → TagTable}/TagTable.d.cts +18 -4
  17. package/dist/components/{TagPicker → TagTable}/TagTable.d.ts +18 -4
  18. package/dist/components/{TagPicker → TagTable}/TagTable.js +26 -8
  19. package/dist/components/TagTable/styles.cjs +170 -0
  20. package/dist/components/TagTable/styles.js +160 -0
  21. package/dist/styleD/build/css/component/autocomplete.css +13 -6
  22. package/dist/styleD/build/css/component/tagPicker.css +1 -0
  23. package/dist/styleD/build/css/component/tagTable.css +9 -5
  24. package/dist/styleD/build/typescript/component/autocomplete.cjs +17 -6
  25. package/dist/styleD/build/typescript/component/autocomplete.d.cts +14 -1
  26. package/dist/styleD/build/typescript/component/autocomplete.d.ts +14 -1
  27. package/dist/styleD/build/typescript/component/autocomplete.js +17 -6
  28. package/dist/styleD/build/typescript/component/tagPicker.cjs +1 -0
  29. package/dist/styleD/build/typescript/component/tagPicker.d.cts +3 -0
  30. package/dist/styleD/build/typescript/component/tagPicker.d.ts +3 -0
  31. package/dist/styleD/build/typescript/component/tagPicker.js +1 -0
  32. package/dist/styleD/build/typescript/component/tagTable.cjs +11 -3
  33. package/dist/styleD/build/typescript/component/tagTable.d.cts +10 -2
  34. package/dist/styleD/build/typescript/component/tagTable.d.ts +10 -2
  35. package/dist/styleD/build/typescript/component/tagTable.js +11 -3
  36. package/package.json +1 -1
@@ -0,0 +1,160 @@
1
+ import { mergeDeep } from "../../util/mergeDeep.js";
2
+ import { componentTagTable } from "../../styleD/build/typescript/component/tagTable.js";
3
+ import { css } from "@emotion/react";
4
+ //#region src/components/TagTable/styles.ts
5
+ const tagTableHeaderStyles = (partialTheme = {}) => {
6
+ const theme = mergeDeep(componentTagTable, partialTheme);
7
+ return css`
8
+ background-color: ${theme.header.backgroundColor};
9
+ padding: ${theme.header.paddingTop} ${theme.header.paddingRight}
10
+ ${theme.header.paddingBottom} ${theme.header.paddingLeft};
11
+ display: flex;
12
+ gap: ${theme.header.gap};
13
+ justify-content: space-between;
14
+ align-items: center;
15
+ `;
16
+ };
17
+ const tagTableHeaderTextStyles = (partialTheme = {}) => {
18
+ return css`
19
+ display: flex;
20
+ flex-direction: column;
21
+ gap: ${mergeDeep(componentTagTable, partialTheme).header.gap};
22
+ `;
23
+ };
24
+ const tagTableHeadingStyles = (partialTheme = {}) => {
25
+ const theme = mergeDeep(componentTagTable, partialTheme);
26
+ return css`
27
+ font-weight: ${theme.heading.fontWeight};
28
+ font-size: ${theme.heading.fontSize};
29
+ `;
30
+ };
31
+ const tagTableSubHeadingStyles = (partialTheme = {}) => {
32
+ const theme = mergeDeep(componentTagTable, partialTheme);
33
+ return css`
34
+ font-weight: ${theme.subHeading.fontWeight};
35
+ font-size: ${theme.subHeading.fontSize};
36
+ `;
37
+ };
38
+ const tagTableCellStyles = (partialTheme = {}) => {
39
+ const theme = mergeDeep(componentTagTable, partialTheme);
40
+ return css`
41
+ padding: ${theme.cell.paddingY} ${theme.cell.paddingX};
42
+ vertical-align: middle;
43
+
44
+ :first-of-type {
45
+ padding-left: ${theme.cell.firstCellPaddingLeft};
46
+ }
47
+
48
+ :not(:last-child) {
49
+ border-right-width: ${theme.cell.borderBetweenCells.borderWidth};
50
+ border-right-style: ${theme.cell.borderBetweenCells.borderStyle};
51
+ border-right-color: ${theme.cell.borderBetweenCells.borderColor};
52
+ }
53
+ `;
54
+ };
55
+ const tagTableRowStyles = (canDrag, highlightFirstRow, partialTheme = {}) => {
56
+ const theme = mergeDeep(componentTagTable, partialTheme);
57
+ return css`
58
+ background-color: ${theme.row.backgroundColor};
59
+ height: ${theme.row.height};
60
+ &:not(:last-child) {
61
+ border-bottom-color: ${theme.row.borderBottom.borderColor};
62
+ border-bottom-style: ${theme.row.borderBottom.borderStyle};
63
+ border-bottom-width: ${theme.row.borderBottom.borderWidth};
64
+ }
65
+
66
+ :hover {
67
+ background-color: ${theme.row.backgroundHoverColor};
68
+ ${canDrag ? "cursor: grab;" : null}
69
+ button[slot='drag'] {
70
+ opacity: 1;
71
+ }
72
+ }
73
+ ${highlightFirstRow && `:first-of-type {
74
+ background-color: ${theme.row.firstRowBackgroundColor};
75
+
76
+ :hover {
77
+ background-color: ${theme.row.firstRowBackgroundHoverColor};
78
+ }
79
+ }`}
80
+ `;
81
+ };
82
+ const tagTableStyles = (highlightFirstRow, partialTheme = {}) => {
83
+ const theme = mergeDeep(componentTagTable, partialTheme);
84
+ return css`
85
+ width: 100%;
86
+ border-collapse: collapse;
87
+
88
+ .react-aria-DropIndicator[data-drop-target] {
89
+ height: ${theme.row.height};
90
+
91
+ ${highlightFirstRow ? `&:first-child {
92
+ background-color: ${theme.row.firstRowBackgroundColor};
93
+ }` : ""}
94
+ }
95
+ `;
96
+ };
97
+ const tagTableRemoveButtonStyles = css`
98
+ background: none;
99
+ border: none;
100
+ padding: 0;
101
+ :hover {
102
+ cursor: pointer;
103
+ }
104
+ `;
105
+ const tagTableAddButtonStyles = (partialTheme = {}) => {
106
+ const theme = mergeDeep(componentTagTable, partialTheme);
107
+ return css`
108
+ :hover {
109
+ cursor: pointer;
110
+ background-color: ${theme.addButton.backgroundHoverColor};
111
+ }
112
+
113
+ color: ${theme.addButton.color};
114
+ -webkit-text-decoration: none;
115
+ text-decoration: none;
116
+ padding: ${theme.addButton.paddingY} ${theme.addButton.paddingX};
117
+ position: relative;
118
+ border: 0;
119
+ border-radius: 0;
120
+ cursor: pointer;
121
+ justify-content: center;
122
+ align-items: center;
123
+ font-weight: ${theme.addButton.fontWeight};
124
+ font-size: ${theme.addButton.fontSize};
125
+ height: 24px;
126
+ width: fit-content;
127
+ line-height: 1;
128
+ flex-direction: row;
129
+ gap: 8px;
130
+ background-color: ${theme.addButton.backgroundColor};
131
+ display: inline-flex;
132
+ `;
133
+ };
134
+ const tagTableDragButtonStyles = css`
135
+ background: none;
136
+ border: none;
137
+ padding: 5px;
138
+ margin: 0;
139
+ display: flex;
140
+ align-items: center;
141
+ opacity: 0;
142
+
143
+ &:focus {
144
+ opacity: 1;
145
+ }
146
+ `;
147
+ const tagTableTypeBadgeStyles = (partialTheme = {}) => {
148
+ const theme = mergeDeep(componentTagTable, partialTheme);
149
+ return css`
150
+ white-space: nowrap;
151
+ text-transform: uppercase;
152
+ color: ${theme.typeBadge.color};
153
+ background-color: ${theme.typeBadge.backgroundColor};
154
+ padding: ${theme.typeBadge.paddingY} ${theme.typeBadge.paddingX};
155
+ font-size: ${theme.typeBadge.fontSize};
156
+ font-weight: ${theme.typeBadge.fontWeight};
157
+ `;
158
+ };
159
+ //#endregion
160
+ export { tagTableAddButtonStyles, tagTableCellStyles, tagTableDragButtonStyles, tagTableHeaderStyles, tagTableHeaderTextStyles, tagTableHeadingStyles, tagTableRemoveButtonStyles, tagTableRowStyles, tagTableStyles, tagTableSubHeadingStyles, tagTableTypeBadgeStyles };
@@ -5,17 +5,24 @@
5
5
  :root {
6
6
  --component-autocomplete-input-color: #000000;
7
7
  --component-autocomplete-input-background-color: #ffffff;
8
- --component-autocomplete-input-disabled-background-color: #dcdcdc;
9
- --component-autocomplete-input-border-width: 1px;
8
+ --component-autocomplete-input-border-width: 0.0625rem;
10
9
  --component-autocomplete-input-border-style: solid;
11
- --component-autocomplete-input-border-color: #8d8d8d;
12
- --component-autocomplete-input-padding: 11px;
10
+ --component-autocomplete-input-border-color: #545454;
11
+ --component-autocomplete-input-padding: 0.75rem;
12
+ --component-autocomplete-input-border-radius: 0.25rem;
13
+ --component-autocomplete-input-hover-background-color: #f6f6f6;
14
+ --component-autocomplete-input-focused-outline: 0.125rem solid #0072a9;
15
+ --component-autocomplete-input-focused-outline-offset: 0.125rem;
16
+ --component-autocomplete-input-disabled-background-color: #ffffff;
17
+ --component-autocomplete-input-disabled-cursor: not-allowed;
18
+ --component-autocomplete-input-disabled-color: #999999;
19
+ --component-autocomplete-input-disabled-border: 0.0625rem solid #dcdcdc;
13
20
  --component-autocomplete-icon-size: 20px;
14
21
  --component-autocomplete-icon-padding-x: 4px;
15
22
  --component-autocomplete-icon-color: #bababa;
16
- --component-autocomplete-listbox-border-width: 1px;
23
+ --component-autocomplete-listbox-border-width: 0.0625rem;
17
24
  --component-autocomplete-listbox-border-style: solid;
18
- --component-autocomplete-listbox-border-color: #8d8d8d;
25
+ --component-autocomplete-listbox-border-color: #545454;
19
26
  --component-autocomplete-listbox-padding-y: 8px;
20
27
  --component-autocomplete-listbox-padding-x: 0px;
21
28
  --component-autocomplete-listbox-background-color: #ffffff;
@@ -5,6 +5,7 @@
5
5
  :root {
6
6
  --component-tag-picker-shared-width: 100%;
7
7
  --component-tag-picker-shared-gap: 15px;
8
+ --component-tag-picker-search-width: 100%;
8
9
  --component-tag-picker-select-flex-basis: 25%;
9
10
  --component-tag-picker-offline-section-justify-content: flex-start;
10
11
  --component-tag-picker-offline-section-gap: 4px;
@@ -3,12 +3,16 @@
3
3
  */
4
4
 
5
5
  :root {
6
- --component-tag-table-heading-background-color: #dcdcdc;
6
+ --component-tag-table-header-background-color: #dcdcdc;
7
+ --component-tag-table-header-padding-top: 3px;
8
+ --component-tag-table-header-padding-right: 5px;
9
+ --component-tag-table-header-padding-bottom: 3px;
10
+ --component-tag-table-header-padding-left: 12px;
11
+ --component-tag-table-header-gap: 4px;
7
12
  --component-tag-table-heading-font-weight: 700;
8
- --component-tag-table-heading-padding-top: 3px;
9
- --component-tag-table-heading-padding-right: 5px;
10
- --component-tag-table-heading-padding-bottom: 3px;
11
- --component-tag-table-heading-padding-left: 12px;
13
+ --component-tag-table-heading-font-size: 14px;
14
+ --component-tag-table-sub-heading-font-weight: 400;
15
+ --component-tag-table-sub-heading-font-size: 12px;
12
16
  --component-tag-table-cell-padding-x: 5px;
13
17
  --component-tag-table-cell-padding-y: 3px;
14
18
  --component-tag-table-cell-first-cell-padding-left: 12px;
@@ -6,11 +6,22 @@ const componentAutocomplete = {
6
6
  input: {
7
7
  color: "#000000",
8
8
  backgroundColor: "#ffffff",
9
- disabledBackgroundColor: "#dcdcdc",
10
- borderWidth: "1px",
9
+ borderWidth: "0.0625rem",
11
10
  borderStyle: "solid",
12
- borderColor: "#8d8d8d",
13
- padding: "11px"
11
+ borderColor: "#545454",
12
+ padding: "0.75rem",
13
+ borderRadius: "0.25rem",
14
+ hover: { backgroundColor: "#f6f6f6" },
15
+ focused: {
16
+ outline: "0.125rem solid #0072a9",
17
+ outlineOffset: "0.125rem"
18
+ },
19
+ disabled: {
20
+ backgroundColor: "#ffffff",
21
+ cursor: "not-allowed",
22
+ color: "#999999",
23
+ border: "0.0625rem solid #dcdcdc"
24
+ }
14
25
  },
15
26
  icon: {
16
27
  size: "20px",
@@ -18,9 +29,9 @@ const componentAutocomplete = {
18
29
  color: "#bababa"
19
30
  },
20
31
  listbox: {
21
- borderWidth: "1px",
32
+ borderWidth: "0.0625rem",
22
33
  borderStyle: "solid",
23
- borderColor: "#8d8d8d",
34
+ borderColor: "#545454",
24
35
  paddingY: "8px",
25
36
  paddingX: "0px",
26
37
  backgroundColor: "#ffffff",
@@ -6,11 +6,24 @@ declare const componentAutocomplete: {
6
6
  input: {
7
7
  color: string;
8
8
  backgroundColor: string;
9
- disabledBackgroundColor: string;
10
9
  borderWidth: string;
11
10
  borderStyle: string;
12
11
  borderColor: string;
13
12
  padding: string;
13
+ borderRadius: string;
14
+ hover: {
15
+ backgroundColor: string;
16
+ };
17
+ focused: {
18
+ outline: string;
19
+ outlineOffset: string;
20
+ };
21
+ disabled: {
22
+ backgroundColor: string;
23
+ cursor: string;
24
+ color: string;
25
+ border: string;
26
+ };
14
27
  };
15
28
  icon: {
16
29
  size: string;
@@ -6,11 +6,24 @@ declare const componentAutocomplete: {
6
6
  input: {
7
7
  color: string;
8
8
  backgroundColor: string;
9
- disabledBackgroundColor: string;
10
9
  borderWidth: string;
11
10
  borderStyle: string;
12
11
  borderColor: string;
13
12
  padding: string;
13
+ borderRadius: string;
14
+ hover: {
15
+ backgroundColor: string;
16
+ };
17
+ focused: {
18
+ outline: string;
19
+ outlineOffset: string;
20
+ };
21
+ disabled: {
22
+ backgroundColor: string;
23
+ cursor: string;
24
+ color: string;
25
+ border: string;
26
+ };
14
27
  };
15
28
  icon: {
16
29
  size: string;
@@ -6,11 +6,22 @@ const componentAutocomplete = {
6
6
  input: {
7
7
  color: "#000000",
8
8
  backgroundColor: "#ffffff",
9
- disabledBackgroundColor: "#dcdcdc",
10
- borderWidth: "1px",
9
+ borderWidth: "0.0625rem",
11
10
  borderStyle: "solid",
12
- borderColor: "#8d8d8d",
13
- padding: "11px"
11
+ borderColor: "#545454",
12
+ padding: "0.75rem",
13
+ borderRadius: "0.25rem",
14
+ hover: { backgroundColor: "#f6f6f6" },
15
+ focused: {
16
+ outline: "0.125rem solid #0072a9",
17
+ outlineOffset: "0.125rem"
18
+ },
19
+ disabled: {
20
+ backgroundColor: "#ffffff",
21
+ cursor: "not-allowed",
22
+ color: "#999999",
23
+ border: "0.0625rem solid #dcdcdc"
24
+ }
14
25
  },
15
26
  icon: {
16
27
  size: "20px",
@@ -18,9 +29,9 @@ const componentAutocomplete = {
18
29
  color: "#bababa"
19
30
  },
20
31
  listbox: {
21
- borderWidth: "1px",
32
+ borderWidth: "0.0625rem",
22
33
  borderStyle: "solid",
23
- borderColor: "#8d8d8d",
34
+ borderColor: "#545454",
24
35
  paddingY: "8px",
25
36
  paddingX: "0px",
26
37
  backgroundColor: "#ffffff",
@@ -7,6 +7,7 @@ const componentTagPicker = {
7
7
  width: "100%",
8
8
  gap: "15px"
9
9
  },
10
+ search: { width: "100%" },
10
11
  select: { flexBasis: "25%" },
11
12
  offlineSection: {
12
13
  justifyContent: "flex-start",
@@ -7,6 +7,9 @@ declare const componentTagPicker: {
7
7
  width: string;
8
8
  gap: string;
9
9
  };
10
+ search: {
11
+ width: string;
12
+ };
10
13
  select: {
11
14
  flexBasis: string;
12
15
  };
@@ -7,6 +7,9 @@ declare const componentTagPicker: {
7
7
  width: string;
8
8
  gap: string;
9
9
  };
10
+ search: {
11
+ width: string;
12
+ };
10
13
  select: {
11
14
  flexBasis: string;
12
15
  };
@@ -7,6 +7,7 @@ const componentTagPicker = {
7
7
  width: "100%",
8
8
  gap: "15px"
9
9
  },
10
+ search: { width: "100%" },
10
11
  select: { flexBasis: "25%" },
11
12
  offlineSection: {
12
13
  justifyContent: "flex-start",
@@ -3,13 +3,21 @@
3
3
  * Do not edit directly, this file was auto-generated.
4
4
  */
5
5
  const componentTagTable = {
6
- heading: {
6
+ header: {
7
7
  backgroundColor: "#dcdcdc",
8
- fontWeight: 700,
9
8
  paddingTop: "3px",
10
9
  paddingRight: "5px",
11
10
  paddingBottom: "3px",
12
- paddingLeft: "12px"
11
+ paddingLeft: "12px",
12
+ gap: "4px"
13
+ },
14
+ heading: {
15
+ fontWeight: 700,
16
+ fontSize: "14px"
17
+ },
18
+ subHeading: {
19
+ fontWeight: 400,
20
+ fontSize: "12px"
13
21
  },
14
22
  cell: {
15
23
  paddingX: "5px",
@@ -3,13 +3,21 @@
3
3
  * Do not edit directly, this file was auto-generated.
4
4
  */
5
5
  declare const componentTagTable: {
6
- heading: {
6
+ header: {
7
7
  backgroundColor: string;
8
- fontWeight: number;
9
8
  paddingTop: string;
10
9
  paddingRight: string;
11
10
  paddingBottom: string;
12
11
  paddingLeft: string;
12
+ gap: string;
13
+ };
14
+ heading: {
15
+ fontWeight: number;
16
+ fontSize: string;
17
+ };
18
+ subHeading: {
19
+ fontWeight: number;
20
+ fontSize: string;
13
21
  };
14
22
  cell: {
15
23
  paddingX: string;
@@ -3,13 +3,21 @@
3
3
  * Do not edit directly, this file was auto-generated.
4
4
  */
5
5
  declare const componentTagTable: {
6
- heading: {
6
+ header: {
7
7
  backgroundColor: string;
8
- fontWeight: number;
9
8
  paddingTop: string;
10
9
  paddingRight: string;
11
10
  paddingBottom: string;
12
11
  paddingLeft: string;
12
+ gap: string;
13
+ };
14
+ heading: {
15
+ fontWeight: number;
16
+ fontSize: string;
17
+ };
18
+ subHeading: {
19
+ fontWeight: number;
20
+ fontSize: string;
13
21
  };
14
22
  cell: {
15
23
  paddingX: string;
@@ -3,13 +3,21 @@
3
3
  * Do not edit directly, this file was auto-generated.
4
4
  */
5
5
  const componentTagTable = {
6
- heading: {
6
+ header: {
7
7
  backgroundColor: "#dcdcdc",
8
- fontWeight: 700,
9
8
  paddingTop: "3px",
10
9
  paddingRight: "5px",
11
10
  paddingBottom: "3px",
12
- paddingLeft: "12px"
11
+ paddingLeft: "12px",
12
+ gap: "4px"
13
+ },
14
+ heading: {
15
+ fontWeight: 700,
16
+ fontSize: "14px"
17
+ },
18
+ subHeading: {
19
+ fontWeight: 400,
20
+ fontSize: "12px"
13
21
  },
14
22
  cell: {
15
23
  paddingX: "5px",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardian/stand",
3
- "version": "0.0.53",
3
+ "version": "0.0.54",
4
4
  "repository": {
5
5
  "url": "https://github.com/guardian/stand"
6
6
  },