@pareto-engineering/design-system 2.0.0-alpha.42 → 2.0.0-alpha.45

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 (90) hide show
  1. package/.env.scripts.example +4 -0
  2. package/.eslintrc.js +25 -1
  3. package/babel.config.js +1 -0
  4. package/dist/cjs/a/Popover/styles.scss +9 -19
  5. package/dist/cjs/f/FormInput/FormInput.js +5 -2
  6. package/dist/cjs/f/FormInput/styles.scss +11 -0
  7. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +207 -0
  8. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +181 -0
  9. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/index.js +15 -0
  10. package/dist/cjs/f/fields/QueryCombobox/common/Menu/Menu.js +103 -0
  11. package/dist/cjs/f/fields/QueryCombobox/common/Menu/index.js +15 -0
  12. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +229 -0
  13. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/index.js +15 -0
  14. package/dist/cjs/f/fields/QueryCombobox/common/index.js +21 -0
  15. package/dist/cjs/f/fields/QueryCombobox/index.js +15 -0
  16. package/dist/cjs/f/fields/QueryCombobox/styles.scss +71 -0
  17. package/dist/cjs/f/fields/SelectInput/SelectInput.js +0 -1
  18. package/dist/cjs/f/fields/SelectInput/styles.scss +8 -6
  19. package/dist/cjs/f/fields/index.js +9 -1
  20. package/dist/cjs/index.js +13 -0
  21. package/dist/cjs/test/QueryLoader/QueryLoader.js +41 -0
  22. package/dist/cjs/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  23. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +49 -0
  24. package/dist/cjs/test/QueryLoader/common/PreloadedTestData/index.js +15 -0
  25. package/dist/cjs/test/QueryLoader/common/index.js +13 -0
  26. package/dist/cjs/test/QueryLoader/index.js +15 -0
  27. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  28. package/dist/cjs/test/index.js +13 -0
  29. package/dist/es/a/Popover/styles.scss +9 -19
  30. package/dist/es/f/FormInput/FormInput.js +4 -1
  31. package/dist/es/f/FormInput/styles.scss +11 -0
  32. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +184 -0
  33. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +161 -0
  34. package/dist/es/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  35. package/dist/es/f/fields/QueryCombobox/common/Menu/Menu.js +77 -0
  36. package/dist/es/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  37. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +202 -0
  38. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  39. package/dist/es/f/fields/QueryCombobox/common/index.js +2 -0
  40. package/dist/es/f/fields/QueryCombobox/index.js +2 -0
  41. package/dist/es/f/fields/QueryCombobox/styles.scss +71 -0
  42. package/dist/es/f/fields/SelectInput/SelectInput.js +0 -1
  43. package/dist/es/f/fields/SelectInput/styles.scss +8 -6
  44. package/dist/es/f/fields/index.js +2 -1
  45. package/dist/es/index.js +2 -1
  46. package/dist/es/test/QueryLoader/QueryLoader.js +29 -0
  47. package/dist/es/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +71 -0
  48. package/dist/es/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.js +31 -0
  49. package/dist/es/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  50. package/dist/es/test/QueryLoader/common/index.js +1 -0
  51. package/dist/es/test/QueryLoader/index.js +2 -0
  52. package/dist/es/test/QueryLoader/styles.scss +9 -0
  53. package/dist/es/test/index.js +1 -0
  54. package/package.json +16 -3
  55. package/relay.config.js +12 -0
  56. package/schema.graphql +4075 -0
  57. package/scripts/fetchSchema.js +74 -0
  58. package/src/__snapshots__/Storyshots.test.js.snap +168 -8
  59. package/src/stories/f/QueryCombobox.stories.jsx +220 -0
  60. package/src/stories/f/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  61. package/src/stories/test/QueryLoader.stories.jsx +36 -0
  62. package/src/stories/utils/generateNodeId.js +12 -0
  63. package/src/stories/utils/relay/EnvironmentProvider.jsx +14 -0
  64. package/src/stories/utils/relay/environment.js +5 -0
  65. package/src/stories/utils/relay/index.js +4 -0
  66. package/src/stories/utils/relay/mockRelayOperation.js +14 -0
  67. package/src/stories/utils/relay/mockResolvers.js +299 -0
  68. package/src/stories/utils/testData.js +63 -0
  69. package/src/ui/a/Popover/styles.scss +9 -19
  70. package/src/ui/f/FormInput/FormInput.jsx +5 -1
  71. package/src/ui/f/FormInput/styles.scss +11 -0
  72. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +200 -0
  73. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +198 -0
  74. package/src/ui/f/fields/QueryCombobox/common/Combobox/index.js +2 -0
  75. package/src/ui/f/fields/QueryCombobox/common/Menu/Menu.jsx +103 -0
  76. package/src/ui/f/fields/QueryCombobox/common/Menu/index.js +2 -0
  77. package/src/ui/f/fields/QueryCombobox/common/index.js +2 -0
  78. package/src/ui/f/fields/QueryCombobox/index.js +2 -0
  79. package/src/ui/f/fields/QueryCombobox/styles.scss +71 -0
  80. package/src/ui/f/fields/SelectInput/SelectInput.jsx +1 -1
  81. package/src/ui/f/fields/SelectInput/styles.scss +8 -6
  82. package/src/ui/f/fields/index.js +1 -0
  83. package/src/ui/index.js +1 -0
  84. package/src/ui/test/QueryLoader/QueryLoader.jsx +41 -0
  85. package/src/ui/test/QueryLoader/__generated__/QueryLoaderHelloQuery.graphql.js +68 -0
  86. package/src/ui/test/QueryLoader/common/PreloadedTestData/PreloadedTestData.jsx +51 -0
  87. package/src/ui/test/QueryLoader/common/PreloadedTestData/index.js +2 -0
  88. package/src/ui/test/QueryLoader/common/index.js +1 -0
  89. package/src/ui/test/QueryLoader/index.js +2 -0
  90. package/src/ui/test/index.js +1 -0
@@ -0,0 +1,2 @@
1
+ export { Menu } from "./Menu";
2
+ export { Combobox } from "./Combobox";
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as QueryCombobox } from "./QueryCombobox";
@@ -0,0 +1,71 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+
5
+ $default-input-padding: .75em .75em .55em;
6
+ $default-padding: 1em;
7
+ $default-margin: 1em;
8
+
9
+ .#{bem.$base}.combobox,
10
+ .#{bem.$base}.multiple-combobox {
11
+ position: relative;
12
+
13
+ .#{bem.$base}.popover {
14
+ width: 100%;
15
+
16
+ >.menu {
17
+ list-style: none;
18
+ margin: 0;
19
+ outline: 0;
20
+ padding: 0;
21
+
22
+ >.item {
23
+ padding: $default-padding / 2;
24
+
25
+ &.#{bem.$modifier-active} {
26
+ background-color: var(--background2);
27
+ }
28
+ }
29
+ }
30
+ }
31
+
32
+ >.input-wrapper {
33
+ >.input {
34
+ background: var(--light-y);
35
+ border: var(--theme-border-style) var(--dark-y);
36
+ color: var(--on-y);
37
+ padding: $default-input-padding;
38
+ width: 100%;
39
+
40
+ &::placeholder {
41
+ color: var(--metadata);
42
+ }
43
+
44
+ &:not(:disabled):hover {
45
+ border: var(--theme-border-style) var(--light-background4);
46
+ }
47
+
48
+ &:disabled {
49
+ background-color: var(--dark-y);
50
+ }
51
+
52
+ &:focus {
53
+ background: var(--light-background4);
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+
60
+ .#{bem.$base}.multiple-combobox {
61
+ >.selected-items {
62
+ display: flex;
63
+
64
+ /* stylelint-disable selector-max-universal -- Allow */
65
+ >*:not(:first-child) {
66
+ margin-left: $default-margin;
67
+ }
68
+
69
+ /* stylelint-enable selector-max-universal */
70
+ }
71
+ }
@@ -40,7 +40,6 @@ const SelectInput = ({
40
40
  style: style // {...otherProps}
41
41
 
42
42
  }, /*#__PURE__*/React.createElement(FormLabel, {
43
- className: "input-label",
44
43
  name: name
45
44
  }, label), /*#__PURE__*/React.createElement("select", _extends({
46
45
  className: "input"
@@ -6,24 +6,27 @@
6
6
 
7
7
 
8
8
  $default-padding: 0.75em;
9
-
9
+ $default-margin: 1em;
10
10
 
11
11
  .#{bem.$base}.select-input {
12
12
  display: flex;
13
13
  flex-direction: column;
14
14
 
15
+ .#{bem.$base}.label {
16
+ margin-bottom: $default-margin
17
+ }
15
18
 
16
19
  .input {
17
20
  border: var(--theme-border-style) var(--dark-y);
18
21
  background: var(--light-y);
19
- color:var(--on-y);
22
+ color: var(--on-y);
20
23
  padding: $default-padding;
21
24
 
22
- &:not(:disabled):hover{
25
+ &:not(:disabled):hover {
23
26
  border: var(--theme-border-style) var(--light-background4);
24
27
  }
25
28
 
26
- &:disabled {
29
+ &:disabled {
27
30
  background-color: var(--dark-y);
28
31
  }
29
32
 
@@ -31,5 +34,4 @@ $default-padding: 0.75em;
31
34
  background: var(--y);
32
35
  }
33
36
  }
34
- }
35
-
37
+ }
@@ -2,4 +2,5 @@ export { TextInput } from "./TextInput";
2
2
  export { SelectInput } from "./SelectInput";
3
3
  export { ChoicesInput } from "./ChoicesInput";
4
4
  export { TextareaInput } from "./TextareaInput";
5
- export { RatingsInput } from "./RatingsInput";
5
+ export { RatingsInput } from "./RatingsInput";
6
+ export { QueryCombobox } from "./QueryCombobox";
package/dist/es/index.js CHANGED
@@ -5,4 +5,5 @@ export * from "./b";
5
5
  export * from "./c";
6
6
  export * from "./d";
7
7
  export * from "./f";
8
- export * from "./utils";
8
+ export * from "./utils";
9
+ export * from "./test";
@@ -0,0 +1,29 @@
1
+ var _QueryLoaderHelloQuery;
2
+
3
+ /* @pareto-engineering/generator-front 1.0.12 */
4
+ import * as React from 'react';
5
+ import { useEffect, Suspense } from 'react';
6
+ import { useQueryLoader } from 'react-relay'; // Local Definitions
7
+
8
+ import { PreloadedTestData } from "./common";
9
+ const testQuery = _QueryLoaderHelloQuery !== void 0 ? _QueryLoaderHelloQuery : (_QueryLoaderHelloQuery = require("./__generated__/QueryLoaderHelloQuery.graphql"), _QueryLoaderHelloQuery.hash && _QueryLoaderHelloQuery.hash !== "b92d001ab0208bd484a99f77c274d5ef" && console.error("The definition of 'QueryLoaderHelloQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _QueryLoaderHelloQuery);
10
+ /**
11
+ * This is the component description.
12
+ */
13
+
14
+ const QueryLoader = () => {
15
+ const [queryReference, loadQuery] = useQueryLoader(testQuery);
16
+ useEffect(() => {
17
+ loadQuery({});
18
+ }, []);
19
+ return /*#__PURE__*/React.createElement(Suspense, {
20
+ fallback: "loading"
21
+ }, queryReference ? /*#__PURE__*/React.createElement(PreloadedTestData, {
22
+ queryReference: queryReference,
23
+ query: testQuery
24
+ }) : null);
25
+ };
26
+
27
+ QueryLoader.defaultProps = {// someProp:false
28
+ };
29
+ export default QueryLoader;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @flow
3
+ */
4
+
5
+ /* eslint-disable */
6
+ 'use strict';
7
+ /*::
8
+ import type { ConcreteRequest } from 'relay-runtime';
9
+ export type QueryLoaderHelloQueryVariables = {||};
10
+ export type QueryLoaderHelloQueryResponse = {|
11
+ +hello: ?string
12
+ |};
13
+ export type QueryLoaderHelloQuery = {|
14
+ variables: QueryLoaderHelloQueryVariables,
15
+ response: QueryLoaderHelloQueryResponse,
16
+ |};
17
+ */
18
+
19
+ /*
20
+ query QueryLoaderHelloQuery {
21
+ hello
22
+ }
23
+ */
24
+
25
+ const node
26
+ /*: ConcreteRequest*/
27
+ = function () {
28
+ var v0 = [{
29
+ "alias": null,
30
+ "args": null,
31
+ "kind": "ScalarField",
32
+ "name": "hello",
33
+ "storageKey": null
34
+ }];
35
+ return {
36
+ "fragment": {
37
+ "argumentDefinitions": [],
38
+ "kind": "Fragment",
39
+ "metadata": null,
40
+ "name": "QueryLoaderHelloQuery",
41
+ "selections": v0
42
+ /*: any*/
43
+ ,
44
+ "type": "Query",
45
+ "abstractKey": null
46
+ },
47
+ "kind": "Request",
48
+ "operation": {
49
+ "argumentDefinitions": [],
50
+ "kind": "Operation",
51
+ "name": "QueryLoaderHelloQuery",
52
+ "selections": v0
53
+ /*: any*/
54
+
55
+ },
56
+ "params": {
57
+ "cacheID": "463f9ee8a82dd6ec8dedeb28649cce74",
58
+ "id": null,
59
+ "metadata": {},
60
+ "name": "QueryLoaderHelloQuery",
61
+ "operationKind": "query",
62
+ "text": "query QueryLoaderHelloQuery {\n hello\n}\n"
63
+ }
64
+ };
65
+ }(); // prettier-ignore
66
+
67
+
68
+ node
69
+ /*: any*/
70
+ .hash = 'b92d001ab0208bd484a99f77c274d5ef';
71
+ module.exports = node;
@@ -0,0 +1,31 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { usePreloadedQuery } from 'react-relay';
5
+ /**
6
+ * This is the component description.
7
+ */
8
+
9
+ const PreloadedTestData = ({
10
+ query,
11
+ queryReference // ...otherProps
12
+
13
+ }) => {
14
+ const data = usePreloadedQuery(query, queryReference);
15
+ return /*#__PURE__*/React.createElement("pre", null, JSON.stringify(data, null, 2));
16
+ };
17
+
18
+ PreloadedTestData.propTypes = {
19
+ /**
20
+ * The query to be used to query the test data
21
+ */
22
+ query: PropTypes.objectOf(PropTypes.PropTypes.oneOfType([PropTypes.string, PropTypes.object])),
23
+
24
+ /**
25
+ * The query reference to be used to access the preloaded data
26
+ */
27
+ queryReference: PropTypes.objectOf(PropTypes.PropTypes.oneOfType([PropTypes.string, PropTypes.object]))
28
+ };
29
+ PreloadedTestData.defaultProps = {// someProp:false
30
+ };
31
+ export default PreloadedTestData;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as PreloadedTestData } from "./PreloadedTestData";
@@ -0,0 +1 @@
1
+ export { PreloadedTestData } from "./PreloadedTestData";
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as QueryLoader } from "./QueryLoader";
@@ -0,0 +1,9 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ .#{bem.$base}.query-loader{
5
+
6
+ }
7
+
8
+
9
+
@@ -0,0 +1 @@
1
+ export { QueryLoader } from "./QueryLoader";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pareto-engineering/design-system",
3
- "version": "2.0.0-alpha.42",
3
+ "version": "2.0.0-alpha.45",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/es/index.js",
@@ -33,7 +33,11 @@
33
33
  "link:assets": "npm link @pareto-engineering/assets",
34
34
  "link:bem": "npm link @pareto-engineering/bem",
35
35
  "link:styles": "npm link @pareto-engineering/styles",
36
- "link:all": "npm run link:bem && npm run link:styles && npm run link:assets"
36
+ "link:all": "npm run link:bem && npm run link:styles && npm run link:assets",
37
+ "relay": "relay-compiler",
38
+ "fetch-schema:dev": "node scripts/fetchSchema.js",
39
+ "fetch-schema:prod": "node scripts/fetchSchema.js -- --ref production",
40
+ "fetch-schema": "npm run fetch-schema:prod"
37
41
  },
38
42
  "keywords": [],
39
43
  "author": "",
@@ -52,6 +56,7 @@
52
56
  "babel-jest": "^27.0.6",
53
57
  "babel-loader": "^8.2.2",
54
58
  "babel-plugin-module-resolver": "^4.1.0",
59
+ "babel-plugin-relay": "^13.2.0",
55
60
  "chromatic": "^5.9.2",
56
61
  "copyfiles": "^2.4.1",
57
62
  "css-mqpacker": "^7.0.0",
@@ -59,11 +64,13 @@
59
64
  "eslint": "^7.30.0",
60
65
  "eslint-config-airbnb": "^18.2.1",
61
66
  "eslint-import-resolver-babel-module": "^5.3.1",
67
+ "eslint-plugin-graphql": "^4.0.0",
62
68
  "eslint-plugin-import": "^2.23.4",
63
69
  "eslint-plugin-jsx-a11y": "^6.4.1",
64
70
  "eslint-plugin-react": "^7.24.0",
65
71
  "eslint-plugin-react-hooks": "^4.2.0",
66
72
  "faker": "^5.5.3",
73
+ "graphql": "^15.8.0",
67
74
  "identity-obj-proxy": "^3.0.0",
68
75
  "jest": "^27.0.6",
69
76
  "jsonlint": "^1.6.3",
@@ -72,6 +79,8 @@
72
79
  "postcss-cli": "^8.3.1",
73
80
  "postcss-preset-env": "^6.7.0",
74
81
  "postcss-scss": "^4.0.0",
82
+ "relay-compiler": "^11.0.2",
83
+ "relay-config": "^11.0.2",
75
84
  "sass": "^1.35.1",
76
85
  "sass-loader": "=10.1.1",
77
86
  "storybook-addon-themes": "^6.1.0",
@@ -79,10 +88,11 @@
79
88
  "stylelint-config-palantir": "^5.1.0"
80
89
  },
81
90
  "dependencies": {
82
- "@pareto-engineering/assets": "^2.0.0-alpha.18",
91
+ "@pareto-engineering/assets": "^2.0.0-alpha.21",
83
92
  "@pareto-engineering/bem": "^0.1.5",
84
93
  "@pareto-engineering/styles": "^2.0.0-alpha.8",
85
94
  "date-fns": "^2.22.1",
95
+ "downshift": "^6.1.7",
86
96
  "formik": "^2.2.9",
87
97
  "hamburgers": "^1.1.3",
88
98
  "lodash": "^4.17.21",
@@ -91,8 +101,11 @@
91
101
  "react-countup": "^4.4.0",
92
102
  "react-dom": "^17.0.2",
93
103
  "react-helmet": "^6.1.0",
104
+ "react-relay": "^11.0.2",
94
105
  "react-router-dom": "^5.2.0",
95
106
  "react-visibility-sensor": "^5.1.1",
107
+ "relay-runtime": "^11.0.2",
108
+ "relay-test-utils": "^11.0.2",
96
109
  "swiper": "^6.7.5",
97
110
  "typed.js": "^2.0.12"
98
111
  },
@@ -0,0 +1,12 @@
1
+ const { resolve } = require('path')
2
+
3
+ // If you're reading this file for the first time, please read this toroughly https://mrtnzlml.com/docs/relay
4
+
5
+ module.exports = {
6
+ src :resolve(__dirname, './src'),
7
+ schema :resolve(__dirname, './schema.graphql'),
8
+ exclude :['**/node_modules/**', '**/__mocks__/**', '**/__generated__/**'],
9
+ watchman:true,
10
+ verbose :true,
11
+ // language:typescript
12
+ }