@pareto-engineering/design-system 4.0.0-alpha.62 → 4.0.0-alpha.63

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 (192) hide show
  1. package/dist/cjs/f/FormInput/FormInput.js +43 -13
  2. package/dist/cjs/f/common/V2/Description/Description.js +76 -0
  3. package/dist/cjs/f/common/V2/Description/index.js +13 -0
  4. package/dist/cjs/f/common/V2/Description/styles.scss +10 -0
  5. package/dist/cjs/f/common/V2/Label/Label.js +84 -0
  6. package/dist/cjs/f/common/V2/Label/index.js +13 -0
  7. package/dist/cjs/f/common/V2/Label/styles.scss +9 -0
  8. package/dist/cjs/f/common/V2/index.js +19 -0
  9. package/dist/cjs/f/common/index.js +12 -0
  10. package/dist/cjs/f/fields/V2/Checkbox/Checkbox.js +122 -0
  11. package/dist/cjs/f/fields/V2/Checkbox/index.js +13 -0
  12. package/dist/cjs/f/fields/V2/Checkbox/styles.scss +16 -0
  13. package/dist/cjs/f/fields/V2/ChoicesInput/ChoicesInput.js +154 -0
  14. package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/Choice.js +104 -0
  15. package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/index.js +13 -0
  16. package/dist/cjs/f/fields/V2/ChoicesInput/common/index.js +12 -0
  17. package/dist/cjs/f/fields/V2/ChoicesInput/index.js +13 -0
  18. package/dist/cjs/f/fields/V2/ChoicesInput/styles.scss +79 -0
  19. package/dist/cjs/f/fields/V2/EditorInput/EditorInput.js +197 -0
  20. package/dist/cjs/f/fields/V2/EditorInput/common/Toolbar.js +257 -0
  21. package/dist/cjs/f/fields/V2/EditorInput/common/TreeViewPlugin.js +18 -0
  22. package/dist/cjs/f/fields/V2/EditorInput/common/index.js +20 -0
  23. package/dist/cjs/f/fields/V2/EditorInput/index.js +13 -0
  24. package/dist/cjs/f/fields/V2/EditorInput/styles.scss +149 -0
  25. package/dist/cjs/f/fields/V2/LinkInput/LinkInput.js +156 -0
  26. package/dist/cjs/f/fields/V2/LinkInput/index.js +13 -0
  27. package/dist/cjs/f/fields/V2/LinkInput/styles.scss +90 -0
  28. package/dist/cjs/f/fields/V2/QueryChoices/QueryChoices.js +137 -0
  29. package/dist/cjs/f/fields/V2/QueryChoices/index.js +13 -0
  30. package/dist/cjs/f/fields/V2/QueryCombobox/QueryCombobox.js +229 -0
  31. package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +236 -0
  32. package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/index.js +13 -0
  33. package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/Menu.js +83 -0
  34. package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/index.js +13 -0
  35. package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +300 -0
  36. package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +13 -0
  37. package/dist/cjs/f/fields/V2/QueryCombobox/common/index.js +26 -0
  38. package/dist/cjs/f/fields/V2/QueryCombobox/index.js +13 -0
  39. package/dist/cjs/f/fields/V2/QueryCombobox/styles.scss +127 -0
  40. package/dist/cjs/f/fields/V2/QuerySelect/QuerySelect.js +198 -0
  41. package/dist/cjs/f/fields/V2/QuerySelect/index.js +13 -0
  42. package/dist/cjs/f/fields/V2/RatingsInput/RatingsInput.js +130 -0
  43. package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/Rating.js +117 -0
  44. package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/index.js +13 -0
  45. package/dist/cjs/f/fields/V2/RatingsInput/common/index.js +12 -0
  46. package/dist/cjs/f/fields/V2/RatingsInput/index.js +13 -0
  47. package/dist/cjs/f/fields/V2/RatingsInput/styles.scss +48 -0
  48. package/dist/cjs/f/fields/V2/SelectInput/SelectInput.js +154 -0
  49. package/dist/cjs/f/fields/V2/SelectInput/index.js +13 -0
  50. package/dist/cjs/f/fields/V2/SelectInput/styles.scss +87 -0
  51. package/dist/cjs/f/fields/V2/TextInput/TextInput.js +155 -0
  52. package/dist/cjs/f/fields/V2/TextInput/index.js +13 -0
  53. package/dist/cjs/f/fields/V2/TextInput/styles.scss +78 -0
  54. package/dist/cjs/f/fields/V2/TextareaInput/TextareaInput.js +152 -0
  55. package/dist/cjs/f/fields/V2/TextareaInput/index.js +13 -0
  56. package/dist/cjs/f/fields/V2/TextareaInput/styles.scss +53 -0
  57. package/dist/cjs/f/fields/V2/index.js +82 -0
  58. package/dist/cjs/f/fields/index.js +26 -1
  59. package/dist/es/f/FormInput/FormInput.js +33 -3
  60. package/dist/es/f/common/V2/Description/Description.js +68 -0
  61. package/dist/es/f/common/V2/Description/index.js +2 -0
  62. package/dist/es/f/common/V2/Description/styles.scss +10 -0
  63. package/dist/es/f/common/V2/Label/Label.js +76 -0
  64. package/dist/es/f/common/V2/Label/index.js +2 -0
  65. package/dist/es/f/common/V2/Label/styles.scss +9 -0
  66. package/dist/es/f/common/V2/index.js +2 -0
  67. package/dist/es/f/common/index.js +2 -1
  68. package/dist/es/f/fields/V2/Checkbox/Checkbox.js +114 -0
  69. package/dist/es/f/fields/V2/Checkbox/index.js +2 -0
  70. package/dist/es/f/fields/V2/Checkbox/styles.scss +16 -0
  71. package/dist/es/f/fields/V2/ChoicesInput/ChoicesInput.js +148 -0
  72. package/dist/es/f/fields/V2/ChoicesInput/common/Choice/Choice.js +97 -0
  73. package/dist/es/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
  74. package/dist/es/f/fields/V2/ChoicesInput/common/index.js +1 -0
  75. package/dist/es/f/fields/V2/ChoicesInput/index.js +2 -0
  76. package/dist/es/f/fields/V2/ChoicesInput/styles.scss +79 -0
  77. package/dist/es/f/fields/V2/EditorInput/EditorInput.js +192 -0
  78. package/dist/es/f/fields/V2/EditorInput/common/Toolbar.js +246 -0
  79. package/dist/es/f/fields/V2/EditorInput/common/TreeViewPlugin.js +11 -0
  80. package/dist/es/f/fields/V2/EditorInput/common/index.js +2 -0
  81. package/dist/es/f/fields/V2/EditorInput/index.js +2 -0
  82. package/dist/es/f/fields/V2/EditorInput/styles.scss +149 -0
  83. package/dist/es/f/fields/V2/LinkInput/LinkInput.js +148 -0
  84. package/dist/es/f/fields/V2/LinkInput/index.js +2 -0
  85. package/dist/es/f/fields/V2/LinkInput/styles.scss +90 -0
  86. package/dist/es/f/fields/V2/QueryChoices/QueryChoices.js +126 -0
  87. package/dist/es/f/fields/V2/QueryChoices/index.js +2 -0
  88. package/dist/es/f/fields/V2/QueryCombobox/QueryCombobox.js +221 -0
  89. package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +229 -0
  90. package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
  91. package/dist/es/f/fields/V2/QueryCombobox/common/Menu/Menu.js +73 -0
  92. package/dist/es/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
  93. package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +293 -0
  94. package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  95. package/dist/es/f/fields/V2/QueryCombobox/common/index.js +3 -0
  96. package/dist/es/f/fields/V2/QueryCombobox/index.js +2 -0
  97. package/dist/es/f/fields/V2/QueryCombobox/styles.scss +127 -0
  98. package/dist/es/f/fields/V2/QuerySelect/QuerySelect.js +186 -0
  99. package/dist/es/f/fields/V2/QuerySelect/index.js +2 -0
  100. package/dist/es/f/fields/V2/RatingsInput/RatingsInput.js +124 -0
  101. package/dist/es/f/fields/V2/RatingsInput/common/Rating/Rating.js +109 -0
  102. package/dist/es/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
  103. package/dist/es/f/fields/V2/RatingsInput/common/index.js +1 -0
  104. package/dist/es/f/fields/V2/RatingsInput/index.js +2 -0
  105. package/dist/es/f/fields/V2/RatingsInput/styles.scss +48 -0
  106. package/dist/es/f/fields/V2/SelectInput/SelectInput.js +146 -0
  107. package/dist/es/f/fields/V2/SelectInput/index.js +2 -0
  108. package/dist/es/f/fields/V2/SelectInput/styles.scss +87 -0
  109. package/dist/es/f/fields/V2/TextInput/TextInput.js +147 -0
  110. package/dist/es/f/fields/V2/TextInput/index.js +2 -0
  111. package/dist/es/f/fields/V2/TextInput/styles.scss +78 -0
  112. package/dist/es/f/fields/V2/TextareaInput/TextareaInput.js +146 -0
  113. package/dist/es/f/fields/V2/TextareaInput/index.js +2 -0
  114. package/dist/es/f/fields/V2/TextareaInput/styles.scss +53 -0
  115. package/dist/es/f/fields/V2/index.js +11 -0
  116. package/dist/es/f/fields/index.js +2 -1
  117. package/package.json +3 -3
  118. package/src/stories/f/v2/Checkbox.stories.jsx +102 -0
  119. package/src/stories/f/v2/ChoicesInput.stories.jsx +139 -0
  120. package/src/stories/f/v2/EditorInput.stories.jsx +81 -0
  121. package/src/stories/f/v2/LinkInput.stories.jsx +93 -0
  122. package/src/stories/f/v2/QueryChoices.stories.jsx +144 -0
  123. package/src/stories/f/v2/QueryCombobox.stories.jsx +301 -0
  124. package/src/stories/f/v2/QuerySelect.stories.jsx +150 -0
  125. package/src/stories/f/v2/RatingsInput.stories.jsx +77 -0
  126. package/src/stories/f/v2/SelectInput.stories.jsx +95 -0
  127. package/src/stories/f/v2/TextInput.stories.jsx +120 -0
  128. package/src/stories/f/v2/TextareaInput.stories.jsx +107 -0
  129. package/src/stories/f/v2/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  130. package/src/stories/f/v2/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  131. package/src/stories/f/v2/__generated__/QueryChoicesAllTaskStatusesQuery.graphql.js +122 -0
  132. package/src/stories/f/v2/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  133. package/src/stories/f/v2/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  134. package/src/ui/f/FormInput/FormInput.jsx +57 -12
  135. package/src/ui/f/common/V2/Description/Description.jsx +94 -0
  136. package/src/ui/f/common/V2/Description/index.js +2 -0
  137. package/src/ui/f/common/V2/Description/styles.scss +10 -0
  138. package/src/ui/f/common/V2/Label/Label.jsx +102 -0
  139. package/src/ui/f/common/V2/Label/index.js +2 -0
  140. package/src/ui/f/common/V2/Label/styles.scss +9 -0
  141. package/src/ui/f/common/V2/index.js +2 -0
  142. package/src/ui/f/common/index.js +1 -0
  143. package/src/ui/f/fields/V2/Checkbox/Checkbox.jsx +146 -0
  144. package/src/ui/f/fields/V2/Checkbox/index.js +2 -0
  145. package/src/ui/f/fields/V2/Checkbox/styles.scss +16 -0
  146. package/src/ui/f/fields/V2/ChoicesInput/ChoicesInput.jsx +183 -0
  147. package/src/ui/f/fields/V2/ChoicesInput/common/Choice/Choice.jsx +125 -0
  148. package/src/ui/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
  149. package/src/ui/f/fields/V2/ChoicesInput/common/index.js +1 -0
  150. package/src/ui/f/fields/V2/ChoicesInput/index.js +2 -0
  151. package/src/ui/f/fields/V2/ChoicesInput/styles.scss +79 -0
  152. package/src/ui/f/fields/V2/EditorInput/EditorInput.jsx +244 -0
  153. package/src/ui/f/fields/V2/EditorInput/common/Toolbar.jsx +356 -0
  154. package/src/ui/f/fields/V2/EditorInput/common/TreeViewPlugin.jsx +16 -0
  155. package/src/ui/f/fields/V2/EditorInput/common/index.jsx +2 -0
  156. package/src/ui/f/fields/V2/EditorInput/index.js +2 -0
  157. package/src/ui/f/fields/V2/EditorInput/styles.scss +149 -0
  158. package/src/ui/f/fields/V2/LinkInput/LinkInput.jsx +187 -0
  159. package/src/ui/f/fields/V2/LinkInput/index.js +2 -0
  160. package/src/ui/f/fields/V2/LinkInput/styles.scss +90 -0
  161. package/src/ui/f/fields/V2/QueryChoices/QueryChoices.jsx +153 -0
  162. package/src/ui/f/fields/V2/QueryChoices/index.js +2 -0
  163. package/src/ui/f/fields/V2/QueryCombobox/QueryCombobox.jsx +254 -0
  164. package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/Combobox.jsx +276 -0
  165. package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
  166. package/src/ui/f/fields/V2/QueryCombobox/common/Menu/Menu.jsx +103 -0
  167. package/src/ui/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
  168. package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +362 -0
  169. package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  170. package/src/ui/f/fields/V2/QueryCombobox/common/index.js +3 -0
  171. package/src/ui/f/fields/V2/QueryCombobox/index.js +2 -0
  172. package/src/ui/f/fields/V2/QueryCombobox/styles.scss +127 -0
  173. package/src/ui/f/fields/V2/QuerySelect/QuerySelect.jsx +220 -0
  174. package/src/ui/f/fields/V2/QuerySelect/index.js +2 -0
  175. package/src/ui/f/fields/V2/RatingsInput/RatingsInput.jsx +152 -0
  176. package/src/ui/f/fields/V2/RatingsInput/common/Rating/Rating.jsx +142 -0
  177. package/src/ui/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
  178. package/src/ui/f/fields/V2/RatingsInput/common/index.js +1 -0
  179. package/src/ui/f/fields/V2/RatingsInput/index.js +2 -0
  180. package/src/ui/f/fields/V2/RatingsInput/styles.scss +48 -0
  181. package/src/ui/f/fields/V2/SelectInput/SelectInput.jsx +187 -0
  182. package/src/ui/f/fields/V2/SelectInput/index.js +2 -0
  183. package/src/ui/f/fields/V2/SelectInput/styles.scss +87 -0
  184. package/src/ui/f/fields/V2/TextInput/TextInput.jsx +192 -0
  185. package/src/ui/f/fields/V2/TextInput/index.js +2 -0
  186. package/src/ui/f/fields/V2/TextInput/styles.scss +78 -0
  187. package/src/ui/f/fields/V2/TextareaInput/TextareaInput.jsx +180 -0
  188. package/src/ui/f/fields/V2/TextareaInput/index.js +2 -0
  189. package/src/ui/f/fields/V2/TextareaInput/styles.scss +53 -0
  190. package/src/ui/f/fields/V2/index.js +11 -0
  191. package/src/ui/f/fields/index.js +1 -0
  192. package/tests/__snapshots__/Storyshots.test.js.snap +5909 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pareto-engineering/design-system",
3
- "version": "4.0.0-alpha.62",
3
+ "version": "4.0.0-alpha.63",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/es/index.js",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@lexical/react": "^0.11.3",
54
- "@pareto-engineering/assets": "^4.0.0-alpha.61",
54
+ "@pareto-engineering/assets": "^4.0.0-alpha.63",
55
55
  "@pareto-engineering/bem": "^4.0.0-alpha.20",
56
56
  "@pareto-engineering/styles": "^4.0.0-alpha.57",
57
57
  "@pareto-engineering/utils": "^4.0.0-alpha.46",
@@ -71,5 +71,5 @@
71
71
  "relay-test-utils": "^15.0.0"
72
72
  },
73
73
  "browserslist": "> 2%",
74
- "gitHead": "a400b51ffb829abc0b0ee1bc447c69e7b0723a41"
74
+ "gitHead": "d150baeb18c0f279e529ba46a7248fdb16180853"
75
75
  }
@@ -0,0 +1,102 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { useEffect } from 'react'
5
+
6
+ import { Formik, Form, useField } from 'formik'
7
+
8
+ import { CheckboxV2, FormDebugger } from 'ui'
9
+
10
+ export default {
11
+ title :'f/fields/V2/CheckboxV2',
12
+ component :CheckboxV2,
13
+ subcomponents:{
14
+ // Item:CheckboxV2.Item
15
+ },
16
+ decorators:[
17
+ // storyfn => <div className="">{ storyfn() }</div>,
18
+ (storyfn) => (
19
+ <Formik
20
+ initialValues={{}}
21
+ >
22
+ <Form>
23
+
24
+ { storyfn() }
25
+ </Form>
26
+ </Formik>
27
+ ),
28
+ ],
29
+ argTypes:{
30
+ label :{ control: 'text' },
31
+ labelColor :{ control: 'text' },
32
+ description :{ control: 'text' },
33
+ defaultValue:{ control: 'boolean' },
34
+ disabled :{ control: 'boolean' },
35
+ optional :{ control: 'boolean' },
36
+ },
37
+ }
38
+
39
+ // eslint-disable-next-line react/prop-types
40
+ const Template = ({ defaultValue, ...args }) => {
41
+ const Content = () => {
42
+ const { name } = args
43
+ const [, , helpers] = useField(name)
44
+ const { setValue } = helpers
45
+
46
+ useEffect(() => {
47
+ if (defaultValue) {
48
+ setValue(defaultValue)
49
+ }
50
+ }, [defaultValue])
51
+
52
+ return (
53
+ <div
54
+ style={{
55
+ display :'flex',
56
+ flexDirection:'column',
57
+ gap :'1rem',
58
+ }}
59
+ >
60
+ <CheckboxV2 {...args} />
61
+ <FormDebugger />
62
+ </div>
63
+ )
64
+ }
65
+
66
+ return <Content />
67
+ }
68
+
69
+ export const Base = Template.bind({})
70
+ Base.args = {
71
+ name:'urgent',
72
+ }
73
+
74
+ export const WithLabel = Template.bind({})
75
+ WithLabel.args = {
76
+ ...Base.args,
77
+ label:'Urgent',
78
+ }
79
+
80
+ export const WithDescription = Template.bind({})
81
+ WithDescription.args = {
82
+ ...Base.args,
83
+ description:'Click on the checkboxV2',
84
+ }
85
+
86
+ export const WithDefaultFormikValue = Template.bind({})
87
+ WithDefaultFormikValue.args = {
88
+ ...Base.args,
89
+ defaultValue:true,
90
+ }
91
+
92
+ export const Disabled = Template.bind({})
93
+ Disabled.args = {
94
+ ...Base.args,
95
+ disabled:true,
96
+ }
97
+
98
+ export const Optional = Template.bind({})
99
+ Optional.args = {
100
+ ...WithLabel.args,
101
+ optional:true,
102
+ }
@@ -0,0 +1,139 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+ import { useEffect } from 'react'
4
+ import { ChoicesInputV2, FormDebugger } from 'ui'
5
+ import { Formik, Form, useField } from 'formik'
6
+
7
+ export default {
8
+ title :'f/fields/V2/ChoicesInputV2',
9
+ component :ChoicesInputV2,
10
+ subcomponents:{
11
+ // Item:ChoicesInputV2.Item
12
+ },
13
+ decorators:[
14
+ (storyfn) => (
15
+ <Formik
16
+ initialValues={{}}
17
+ >
18
+ <Form>
19
+ { storyfn() }
20
+ </Form>
21
+ </Formik>
22
+ ),
23
+ ],
24
+ argTypes:{
25
+ color :{ control: 'color' },
26
+ labelColor:{ control: 'color' },
27
+ multiple :{ control: 'boolean' },
28
+ disabled :{ control: 'boolean' },
29
+ optional :{ control: 'boolean' },
30
+ },
31
+ }
32
+
33
+ const optionsMap = [
34
+ {
35
+ value:'red',
36
+ label:'Color Red',
37
+ },
38
+ {
39
+ value:'blue',
40
+ label:'Color Blue',
41
+ },
42
+ {
43
+ value:'green',
44
+ label:'Color Green',
45
+ },
46
+ {
47
+ value:'yellow',
48
+ label:'Color Yellow',
49
+ },
50
+ {
51
+ value:'oarnge',
52
+ label:'Color Orange',
53
+ },
54
+ {
55
+ value:'violet',
56
+ label:'Color Violet',
57
+ },
58
+ {
59
+ value:'brown',
60
+ label:'Color Brown',
61
+ },
62
+ {
63
+ value:'black',
64
+ label:'Color Black',
65
+ },
66
+ ]
67
+
68
+ // eslint-disable-next-line react/prop-types
69
+ const Template = ({ defaultValue, ...args }) => {
70
+ const Content = () => {
71
+ const [, , helpers] = useField(args.name)
72
+ const { setValue } = helpers
73
+
74
+ useEffect(() => {
75
+ if (defaultValue) {
76
+ setValue(defaultValue)
77
+ }
78
+ }, [defaultValue])
79
+
80
+ return (
81
+ <div
82
+ style={{
83
+ display :'flex',
84
+ flexDirection:'column',
85
+ gap :'1rem',
86
+ }}
87
+ >
88
+ <ChoicesInputV2 {...args} />
89
+ <FormDebugger />
90
+ </div>
91
+ )
92
+ }
93
+ return <Content />
94
+ }
95
+
96
+ export const Base = Template.bind({})
97
+ Base.args = {
98
+ id :'colors',
99
+ options:optionsMap,
100
+ name :'color',
101
+ }
102
+
103
+ export const WithDefaultFormikValue = Template.bind({})
104
+ WithDefaultFormikValue.args = {
105
+ ...Base.args,
106
+ defaultValue:'red',
107
+ }
108
+
109
+ export const Multiple = Template.bind({})
110
+ Multiple.args = {
111
+ ...Base.args,
112
+ multiple:true,
113
+ }
114
+
115
+ export const MultipleWithDefaultFormikValue = Template.bind({})
116
+ MultipleWithDefaultFormikValue.args = {
117
+ ...Base.args,
118
+ multiple :true,
119
+ defaultValue:['brown', 'violet'],
120
+ }
121
+
122
+ export const ChoicesWithLabel = Template.bind({})
123
+ ChoicesWithLabel.args = {
124
+ ...Base.args,
125
+ label:'Select color',
126
+ }
127
+
128
+ export const Optional = Template.bind({})
129
+ Optional.args = {
130
+ ...Base.args,
131
+ label :'Select color',
132
+ optional:true,
133
+ }
134
+
135
+ export const DisabledChoicesInput = Template.bind({})
136
+ DisabledChoicesInput.args = {
137
+ ...ChoicesWithLabel.args,
138
+ disabled:true,
139
+ }
@@ -0,0 +1,81 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { Formik, Form } from 'formik'
5
+
6
+ import { EditorInputV2, FormDebugger } from 'ui'
7
+
8
+ export default {
9
+ title :'f/fields/V2/EditorInputV2',
10
+ component :EditorInputV2,
11
+ subcomponents:{
12
+ // Item:TextareaInput.Item
13
+ },
14
+ decorators:[
15
+ (storyfn) => (
16
+ <Formik
17
+ initialValues={{ instructions: '' }}
18
+ >
19
+ <Form>
20
+ { storyfn() }
21
+ </Form>
22
+ </Formik>
23
+ ),
24
+ ],
25
+ argTypes:{
26
+ name :{ control: 'text' },
27
+ label :{ control: 'text' },
28
+ labelColor :{ control: 'text' },
29
+ disabled :{ control: 'boolean' },
30
+ labelAsDescription:{ control: 'boolean' },
31
+ optional :{ control: 'boolean' },
32
+ showDebugger :{ control: 'boolean' },
33
+ },
34
+ }
35
+
36
+ const Template = (args) => (
37
+ <div
38
+ style={{
39
+ display :'flex',
40
+ flexDirection:'column',
41
+ gap :'1rem',
42
+ }}
43
+ >
44
+ <EditorInputV2 {...args} />
45
+ <FormDebugger />
46
+ </div>
47
+ )
48
+
49
+ export const Base = Template.bind({})
50
+ Base.args = {
51
+ name :'instructions',
52
+ label:'Project Instructions',
53
+ }
54
+
55
+ export const Optional = Template.bind({})
56
+ Optional.args = {
57
+ ...Base.args,
58
+ optional:true,
59
+ }
60
+
61
+ // const validate = (value) => {
62
+ // let errorMessage = ''
63
+ // const isValid = value.length > 3
64
+
65
+ // if (!isValid) {
66
+ // errorMessage = 'Value should be greater than 3 characters'
67
+ // }
68
+ // return errorMessage
69
+ // }
70
+
71
+ // export const Validation = Template.bind({})
72
+ // Validation.args = {
73
+ // ...Base.args,
74
+ // validate,
75
+ // }
76
+
77
+ export const Disabled = Template.bind({})
78
+ Disabled.args = {
79
+ ...Base.args,
80
+ disabled:true,
81
+ }
@@ -0,0 +1,93 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+ import { Formik, Form } from 'formik'
4
+
5
+ import {
6
+ LinkInputV2,
7
+ FormDebugger,
8
+ } from 'ui'
9
+
10
+ export default {
11
+ title :'f/fields/V2/LinkInputV2',
12
+ component :LinkInputV2,
13
+ subcomponents:{
14
+ // Item:TextInput.Item
15
+ },
16
+ decorators:[
17
+ (storyfn) => (
18
+ <Formik
19
+ initialValues={{ email: '', name: '', company: '' }}
20
+ >
21
+ <Form>
22
+
23
+ { storyfn() }
24
+ </Form>
25
+ </Formik>
26
+ ),
27
+ ],
28
+ argTypes:{
29
+ // backgroundColor:{ control: 'color' },
30
+ placeholder :{ control: 'text' },
31
+ autoComplete:{ control: 'select', options: ['off', 'on'] },
32
+ disabled :{ control: 'boolean' },
33
+ name :{ control: 'text' },
34
+ label :{ control: 'text' },
35
+ labelColor :{ control: 'text' },
36
+ optional :{ control: 'boolean' },
37
+ symbol :{ control: 'text' },
38
+ },
39
+ }
40
+
41
+ // eslint-disable-next-line react/prop-types
42
+ const Template = (args) => (
43
+ <div
44
+ style={{
45
+ display :'flex',
46
+ flexDirection:'column',
47
+ gap :'1rem',
48
+ }}
49
+ >
50
+ <LinkInputV2 {...args} />
51
+ <FormDebugger />
52
+ </div>
53
+ )
54
+
55
+ export const Base = Template.bind({})
56
+ Base.args = {
57
+ name :'link',
58
+ label:'Spreadsheet Link',
59
+ }
60
+
61
+ export const Optional = Template.bind({})
62
+ Optional.args = {
63
+ ...Base.args,
64
+ optional:true,
65
+ }
66
+
67
+ const validate = (value) => {
68
+ let errorMessage = ''
69
+ const isValid = value.length > 3
70
+
71
+ if (!isValid) {
72
+ errorMessage = 'Value should be greater than 3 characters'
73
+ }
74
+ return errorMessage
75
+ }
76
+
77
+ export const WithValidation = Template.bind({})
78
+ WithValidation.args = {
79
+ ...Base.args,
80
+ validate,
81
+ }
82
+
83
+ export const WithPlaceholder = Template.bind({})
84
+ WithPlaceholder.args = {
85
+ ...Base.args,
86
+ placeholder:'Email address',
87
+ }
88
+
89
+ export const WithDisabled = Template.bind({})
90
+ WithDisabled.args = {
91
+ ...Base.args,
92
+ disabled:true,
93
+ }
@@ -0,0 +1,144 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { QueryChoicesV2, FormDebugger } from 'ui'
5
+
6
+ import { Formik, Form } from 'formik'
7
+
8
+ import {
9
+ RelayEnvironmentProvider,
10
+ mockRelayOperation,
11
+ environment,
12
+ } from '../../utils/relay'
13
+
14
+ import generateNodeId from '../../utils/generateNodeId'
15
+
16
+ export default {
17
+ title :'f/fields/V2/QueryChoicesV2',
18
+ component :QueryChoicesV2,
19
+ subcomponents:{
20
+ // Item:QueryChoicesV2.Item
21
+ },
22
+ decorators:[
23
+ // storyfn => <div className="">{ storyfn() }</div>,
24
+ (storyfn) => (
25
+ <RelayEnvironmentProvider>
26
+ { storyfn() }
27
+ </RelayEnvironmentProvider>
28
+ ),
29
+ ],
30
+ argTypes:{
31
+ color :{ control: 'color' },
32
+ labelColor:{ control: 'color' },
33
+ multiple :{ control: 'boolean' },
34
+ isLoading :{ control: 'boolean' },
35
+ optional :{ control: 'boolean' },
36
+ },
37
+ }
38
+
39
+ const statuses = [
40
+ 'Backlog',
41
+ 'In Review',
42
+ 'In Progress',
43
+ 'Requested',
44
+ 'Blocked',
45
+ 'Completed',
46
+ ]
47
+
48
+ const allTaskStatusesMockData = {
49
+ PageInfo() {
50
+ return {
51
+ hasNextPage :true,
52
+ hasPreviousPage:true,
53
+ }
54
+ },
55
+ TaskStatusNodeConnection:() => ({
56
+ pageInfo:{
57
+ hasNextPage :true,
58
+ hasPreviousPage:true,
59
+ },
60
+
61
+ edges:statuses.map((status) => ({
62
+ node:{
63
+ id:generateNodeId('TaskStatusNode'),
64
+ status,
65
+ },
66
+ })),
67
+ }),
68
+ }
69
+
70
+ const FETCH_ALL_TASK_STATUSES = graphql`
71
+ query QueryChoicesAllTaskStatusesQuery {
72
+ allTaskStatuses {
73
+ edges {
74
+ node {
75
+ id
76
+ status
77
+ }
78
+ }
79
+ }
80
+ }
81
+ `
82
+
83
+ // eslint-disable-next-line react/prop-types
84
+ const Template = ({ isLoading, defaultFormikState, ...args }) => {
85
+ if (isLoading) {
86
+ setTimeout(() => {
87
+ mockRelayOperation(allTaskStatusesMockData)
88
+ environment.mock.queuePendingOperation(
89
+ FETCH_ALL_TASK_STATUSES,
90
+ {},
91
+ )
92
+ }, 500)
93
+ } else {
94
+ mockRelayOperation(allTaskStatusesMockData)
95
+ environment.mock.queuePendingOperation(
96
+ FETCH_ALL_TASK_STATUSES,
97
+ {},
98
+ )
99
+ }
100
+
101
+ const Content = () => (
102
+ <div
103
+ style={{
104
+ display :'flex',
105
+ flexDirection:'column',
106
+ gap :'1rem',
107
+ }}
108
+ >
109
+ <QueryChoicesV2
110
+ name="status"
111
+ label="Select Status"
112
+ query={{
113
+ graphql :FETCH_ALL_TASK_STATUSES,
114
+ accessor:'allTaskStatuses',
115
+ }}
116
+ optionsKeyMap={{
117
+ value :'id',
118
+ getLabel:(node) => node.status,
119
+ }}
120
+ {...args}
121
+ />
122
+ <FormDebugger />
123
+ </div>
124
+ )
125
+
126
+ const initialValues = defaultFormikState ?? { status: '' }
127
+
128
+ return (
129
+ <Formik
130
+ initialValues={initialValues}
131
+ >
132
+ <Form>
133
+ <Content />
134
+ </Form>
135
+ </Formik>
136
+ )
137
+ }
138
+
139
+ export const Base = Template.bind({})
140
+
141
+ export const Optional = Template.bind({})
142
+ Optional.args = {
143
+ optional:true,
144
+ }