@dxc-technology/halstack-react 0.0.0-a678636 → 0.0.0-a9c6846

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 (125) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/accordion/Accordion.js +170 -65
  5. package/dist/accordion-group/AccordionGroup.js +186 -0
  6. package/dist/alert/Alert.js +180 -81
  7. package/dist/alert/index.d.ts +51 -0
  8. package/dist/badge/Badge.js +63 -0
  9. package/dist/box/Box.js +31 -23
  10. package/dist/button/Button.js +83 -26
  11. package/dist/card/Card.js +72 -35
  12. package/dist/checkbox/Checkbox.js +98 -38
  13. package/dist/chip/Chip.js +128 -36
  14. package/dist/common/RequiredComponent.js +2 -8
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1311 -304
  17. package/dist/date/Date.js +75 -52
  18. package/dist/dialog/Dialog.js +58 -37
  19. package/dist/dropdown/Dropdown.js +199 -71
  20. package/dist/file-input/FileInput.js +641 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +85 -36
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/header/Header.js +111 -68
  26. package/dist/header/dxc_logo_black.svg +8 -0
  27. package/dist/heading/Heading.js +81 -16
  28. package/dist/input-text/InputText.js +288 -100
  29. package/dist/layout/ApplicationLayout.js +331 -0
  30. package/dist/layout/facebook.svg +45 -0
  31. package/dist/layout/linkedin.svg +50 -0
  32. package/dist/layout/twitter.svg +53 -0
  33. package/dist/link/Link.js +136 -35
  34. package/dist/main.d.ts +7 -0
  35. package/dist/main.js +89 -1
  36. package/dist/new-date/NewDate.js +400 -0
  37. package/dist/new-date/index.d.ts +95 -0
  38. package/dist/new-input-text/NewInputText.js +982 -0
  39. package/dist/new-input-text/index.d.ts +135 -0
  40. package/dist/new-textarea/NewTextarea.js +362 -0
  41. package/dist/new-textarea/index.d.ts +117 -0
  42. package/dist/number/Number.js +138 -0
  43. package/dist/number/NumberContext.js +16 -0
  44. package/dist/number/index.d.ts +113 -0
  45. package/dist/paginator/Paginator.js +149 -56
  46. package/dist/password/Password.js +200 -0
  47. package/dist/password/index.d.ts +94 -0
  48. package/dist/password/styles.css +3 -0
  49. package/dist/progress-bar/ProgressBar.js +95 -38
  50. package/dist/radio/Radio.js +31 -17
  51. package/dist/resultsetTable/ResultsetTable.js +93 -68
  52. package/dist/select/Select.js +244 -146
  53. package/dist/sidenav/Sidenav.js +86 -129
  54. package/dist/slider/Slider.js +125 -64
  55. package/dist/spinner/Spinner.js +247 -59
  56. package/dist/switch/Switch.js +50 -27
  57. package/dist/table/Table.js +52 -13
  58. package/dist/tabs/Tabs.js +206 -35
  59. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  60. package/dist/tag/Tag.js +100 -35
  61. package/dist/textarea/Textarea.js +77 -40
  62. package/dist/toggle/Toggle.js +16 -19
  63. package/dist/toggle-group/ToggleGroup.js +64 -58
  64. package/dist/upload/Upload.js +13 -8
  65. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  66. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  67. package/dist/upload/file-upload/FileToUpload.js +50 -24
  68. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  69. package/dist/upload/transaction/Transaction.js +44 -24
  70. package/dist/upload/transactions/Transactions.js +38 -20
  71. package/dist/useTheme.js +22 -0
  72. package/dist/wizard/Wizard.js +139 -55
  73. package/dist/wizard/invalid_icon.svg +4 -5
  74. package/dist/wizard/valid_icon.svg +4 -5
  75. package/package.json +13 -5
  76. package/test/AccordionGroup.test.js +125 -0
  77. package/test/Date.test.js +13 -13
  78. package/test/Dropdown.test.js +15 -0
  79. package/test/FileInput.test.js +201 -0
  80. package/test/InputText.test.js +30 -26
  81. package/test/Link.test.js +25 -7
  82. package/test/NewDate.test.js +232 -0
  83. package/test/NewInputText.test.js +734 -0
  84. package/test/NewTextarea.test.js +195 -0
  85. package/test/Number.test.js +257 -0
  86. package/test/Paginator.test.js +72 -60
  87. package/test/Password.test.js +83 -0
  88. package/test/ResultsetTable.test.js +66 -19
  89. package/test/Select.test.js +55 -34
  90. package/test/Sidenav.test.js +22 -64
  91. package/test/Slider.test.js +17 -0
  92. package/test/Spinner.test.js +5 -0
  93. package/test/Tabs.test.js +21 -0
  94. package/dist/accordion/Accordion.stories.js +0 -207
  95. package/dist/accordion/readme.md +0 -96
  96. package/dist/alert/Alert.stories.js +0 -158
  97. package/dist/alert/close.svg +0 -4
  98. package/dist/alert/error.svg +0 -4
  99. package/dist/alert/info.svg +0 -4
  100. package/dist/alert/readme.md +0 -43
  101. package/dist/alert/success.svg +0 -4
  102. package/dist/alert/warning.svg +0 -4
  103. package/dist/button/Button.stories.js +0 -224
  104. package/dist/button/readme.md +0 -93
  105. package/dist/common/services/example-service.js +0 -10
  106. package/dist/common/services/example-service.test.js +0 -12
  107. package/dist/date/calendar.svg +0 -1
  108. package/dist/date/calendar_dark.svg +0 -1
  109. package/dist/dialog/Dialog.stories.js +0 -217
  110. package/dist/dialog/readme.md +0 -32
  111. package/dist/dropdown/Dropdown.stories.js +0 -249
  112. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  113. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  114. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  115. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  116. package/dist/dropdown/readme.md +0 -69
  117. package/dist/footer/dxc_logo_wht.png +0 -0
  118. package/dist/header/dxc_logo_black.png +0 -0
  119. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  120. package/dist/header/dxc_logo_white.png +0 -0
  121. package/dist/select/Select.stories.js +0 -235
  122. package/dist/select/readme.md +0 -72
  123. package/dist/sidenav/arrow_icon.svg +0 -3
  124. package/dist/toggle-group/readme.md +0 -82
  125. package/test/Toggle.test.js +0 -43
@@ -1,249 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _amazon = _interopRequireDefault(require("../../.storybook/public/amazon.svg"));
14
-
15
- var _addonKnobs = require("@storybook/addon-knobs");
16
-
17
- var _readme = _interopRequireDefault(require("./readme.md"));
18
-
19
- var _Dropdown = _interopRequireDefault(require("./Dropdown"));
20
-
21
- var onChange = (0, _addonActions.action)("onChange");
22
-
23
- onChange.toString = function () {
24
- return "onChangeHandler";
25
- };
26
-
27
- var optionsWithoutIcon = [{
28
- value: 1,
29
- label: "Amazon"
30
- }, {
31
- value: 2,
32
- label: "Ebay"
33
- }, {
34
- value: 3,
35
- label: "Apple"
36
- }];
37
- var optionsWithIcon = [{
38
- value: 1,
39
- label: "Amazon",
40
- iconSrc: _amazon["default"]
41
- }, {
42
- value: 2,
43
- label: "Ebay",
44
- iconSrc: _amazon["default"]
45
- }, {
46
- value: 3,
47
- label: "Apple",
48
- iconSrc: _amazon["default"]
49
- }];
50
-
51
- var selectOption = function selectOption(option) {
52
- console.log(option);
53
- };
54
-
55
- (0, _react2.storiesOf)("Form Components|Dropdown", module).add("Component", function () {
56
- return _react["default"].createElement("div", null, _react["default"].createElement("div", {
57
- style: {
58
- height: "200px",
59
- display: "flex",
60
- flexWrap: "wrap"
61
- }
62
- }, _react["default"].createElement(_Dropdown["default"], {
63
- options: optionsWithoutIcon,
64
- onSelectOption: selectOption,
65
- iconSrc: _amazon["default"],
66
- label: "Basic dropdown",
67
- theme: "light",
68
- mode: "basic",
69
- optionsIconPosition: "before"
70
- }), _react["default"].createElement(_Dropdown["default"], {
71
- options: optionsWithIcon,
72
- onSelectOption: selectOption,
73
- iconSrc: _amazon["default"],
74
- label: "Outlined dropdown",
75
- theme: "light",
76
- mode: "outlined",
77
- optionsIconPosition: "after"
78
- }), _react["default"].createElement(_Dropdown["default"], {
79
- options: optionsWithoutIcon,
80
- onSelectOption: selectOption,
81
- label: "Basic dropdown",
82
- theme: "light",
83
- mode: "basic",
84
- optionsIconPosition: "before"
85
- }), _react["default"].createElement(_Dropdown["default"], {
86
- options: optionsWithoutIcon,
87
- onSelectOption: selectOption,
88
- label: "Outlined dropdown",
89
- theme: "light",
90
- mode: "outlined",
91
- optionsIconPosition: "after"
92
- }), _react["default"].createElement(_Dropdown["default"], {
93
- options: optionsWithIcon,
94
- onSelectOption: selectOption,
95
- iconSrc: _amazon["default"],
96
- label: "",
97
- theme: "light",
98
- mode: "basic",
99
- caretHidden: true,
100
- optionsIconPosition: "before"
101
- }), _react["default"].createElement(_Dropdown["default"], {
102
- options: optionsWithIcon,
103
- onSelectOption: selectOption,
104
- iconSrc: _amazon["default"],
105
- label: "",
106
- theme: "light",
107
- mode: "outlined",
108
- caretHidden: true,
109
- optionsIconPosition: "after"
110
- }), _react["default"].createElement(_Dropdown["default"], {
111
- options: optionsWithIcon,
112
- onSelectOption: selectOption,
113
- iconSrc: _amazon["default"],
114
- label: "",
115
- theme: "light",
116
- mode: "basic",
117
- caretHidden: false,
118
- optionsIconPosition: "before"
119
- }), _react["default"].createElement(_Dropdown["default"], {
120
- options: optionsWithIcon,
121
- onSelectOption: selectOption,
122
- iconSrc: _amazon["default"],
123
- label: "",
124
- theme: "light",
125
- mode: "outlined",
126
- caretHidden: false,
127
- optionsIconPosition: "after"
128
- })), _react["default"].createElement("div", {
129
- style: {
130
- background: "black",
131
- display: "flex",
132
- height: "250px",
133
- flexWrap: "wrap"
134
- }
135
- }, _react["default"].createElement(_Dropdown["default"], {
136
- options: optionsWithIcon,
137
- onSelectOption: selectOption,
138
- iconSrc: _amazon["default"],
139
- label: "Basic dropdown",
140
- theme: "dark",
141
- mode: "basic",
142
- optionsIconPosition: "before"
143
- }), _react["default"].createElement(_Dropdown["default"], {
144
- options: optionsWithIcon,
145
- onSelectOption: selectOption,
146
- iconSrc: _amazon["default"],
147
- label: "Outlined dropdown",
148
- theme: "dark",
149
- mode: "outlined",
150
- optionsIconPosition: "after"
151
- }), _react["default"].createElement(_Dropdown["default"], {
152
- options: optionsWithoutIcon,
153
- onSelectOption: selectOption,
154
- label: "Basic dropdown",
155
- theme: "dark",
156
- mode: "basic",
157
- optionsIconPosition: "before"
158
- }), _react["default"].createElement(_Dropdown["default"], {
159
- options: optionsWithoutIcon,
160
- onSelectOption: selectOption,
161
- label: "Outlined dropdown",
162
- theme: "dark",
163
- mode: "outlined",
164
- optionsIconPosition: "after"
165
- }), _react["default"].createElement(_Dropdown["default"], {
166
- options: optionsWithIcon,
167
- onSelectOption: selectOption,
168
- iconSrc: _amazon["default"],
169
- label: "",
170
- theme: "dark",
171
- mode: "basic",
172
- caretHidden: true,
173
- optionsIconPosition: "before"
174
- }), _react["default"].createElement(_Dropdown["default"], {
175
- options: optionsWithIcon,
176
- onSelectOption: selectOption,
177
- iconSrc: _amazon["default"],
178
- label: "",
179
- theme: "dark",
180
- mode: "outlined",
181
- caretHidden: true,
182
- optionsIconPosition: "after"
183
- }), _react["default"].createElement(_Dropdown["default"], {
184
- options: optionsWithIcon,
185
- onSelectOption: selectOption,
186
- iconSrc: _amazon["default"],
187
- label: "",
188
- theme: "dark",
189
- mode: "basic",
190
- caretHidden: false,
191
- optionsIconPosition: "before"
192
- }), _react["default"].createElement(_Dropdown["default"], {
193
- options: optionsWithIcon,
194
- onSelectOption: selectOption,
195
- iconSrc: _amazon["default"],
196
- label: "",
197
- theme: "dark",
198
- mode: "outlined",
199
- caretHidden: false,
200
- optionsIconPosition: "after"
201
- })));
202
- }, {
203
- notes: {
204
- markdown: _readme["default"]
205
- }
206
- });
207
-
208
- var knobProps = function knobProps() {
209
- return {
210
- optionsIconPosition: (0, _addonKnobs.select)("Options Icon Position", {
211
- before: "before",
212
- after: "after"
213
- }, "before"),
214
- iconPosition: (0, _addonKnobs.select)("Icon Position", {
215
- before: "before",
216
- after: "after"
217
- }, "before"),
218
- label: (0, _addonKnobs.text)("Label", "Test Dropdown"),
219
- theme: (0, _addonKnobs.select)("Theme", {
220
- light: "light",
221
- dark: "dark"
222
- }, "light"),
223
- mode: (0, _addonKnobs.select)("Mode", {
224
- basic: "basic",
225
- outlined: "outlined"
226
- }, "basic"),
227
- caretHidden: (0, _addonKnobs["boolean"])("Caret Hidden", false),
228
- disableRipple: (0, _addonKnobs["boolean"])("Disable Ripple", false)
229
- };
230
- };
231
-
232
- (0, _react2.storiesOf)("Form Components|Dropdown", module).add("Knobs example", function () {
233
- var props = knobProps();
234
- return _react["default"].createElement("div", {
235
- style: {
236
- paddingTop: "20px",
237
- height: "200px",
238
- background: props.theme === "dark" && "black" || "transparent"
239
- }
240
- }, _react["default"].createElement(_Dropdown["default"], (0, _extends2["default"])({}, props, {
241
- iconSrc: _amazon["default"],
242
- options: optionsWithIcon,
243
- onSelectOption: selectOption
244
- })));
245
- }, {
246
- notes: {
247
- markdown: _readme["default"]
248
- }
249
- });
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
@@ -1,4 +0,0 @@
1
- <svg id="baseline-arrow_drop_down-24px" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
- <path id="Trazado_2384" data-name="Trazado 2384" d="M7,10l5,5,5-5Z" fill="#fff"/>
3
- <path id="Trazado_2385" data-name="Trazado 2385" d="M0,0H24V24H0Z" fill="none"/>
4
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 14l5-5 5 5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
@@ -1,4 +0,0 @@
1
- <svg id="baseline-arrow_drop_up-24px" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
- <path id="Trazado_2386" data-name="Trazado 2386" d="M7,14l5-5,5,5Z" fill="#fff"/>
3
- <path id="Trazado_2387" data-name="Trazado 2387" d="M0,0H24V24H0Z" fill="none"/>
4
- </svg>
@@ -1,69 +0,0 @@
1
- # DXC Dropdown Component
2
-
3
- ## Props
4
-
5
- <table>
6
- <tr style="background-color: grey">
7
- <td>Name</td>
8
- <td>Default</td>
9
- <td>Description</td>
10
- </tr>
11
- <tr>
12
- <td>options: object[]</td>
13
- <td><code>[]</code></td>
14
- <td>An array of objects representing the options. Each object has the following properties:
15
- <ul>
16
- <li><b>label</b>: Option display value</li>
17
- <li><b>iconSrc</b>: URL of the icon that will be placed next to the option label (Optional)</li>
18
- <li><b>value</b>: Option inner value</li>
19
- <li><b>options</b>: array for nested</li>
20
- </ul>
21
- </td>
22
- </tr>
23
- <tr>
24
- <td>optionsIconPosition: 'before' | 'after'</td>
25
- <td><code>'before'</code></td>
26
- <td>In case options include an icon, whether the icon should appear after or before the label.</td>
27
- </tr>
28
- <tr>
29
- <td>iconSrc: string</td>
30
- <td><code></code></td>
31
- <td>URL of the icon that will be placed next to the option label (Optional)</td>
32
- </tr>
33
- <tr>
34
- <td>iconPosition: 'before' | 'after'</td>
35
- <td><code>'before'</code></td>
36
- <td>Whether the icon should appear after or before the label.</td>
37
- </tr>
38
- <tr>
39
- <td>label: string</td>
40
- <td></td>
41
- <td>Text to be placed within the dropdown.</td>
42
- </tr>
43
- <tr>
44
- <td>theme: 'light' | 'dark'</td>
45
- <td><code>'light'</code></td>
46
- <td>Uses one of the available component themes.</td>
47
- </tr>
48
- <tr>
49
- <td>mode: 'basic' | 'outlined'</td>
50
- <td><code>'basic'</code></td>
51
- <td>Uses one of the available component modes.</td>
52
- </tr>
53
- <tr>
54
- <td>showCaret: boolean</td>
55
- <td><code>true</code></td>
56
- <td>Whether the arrow next to the labe must be displayed or not.</td>
57
- </tr>
58
- <tr>
59
- <td>disableRipple: boolean</td>
60
- <td><code>false</code></td>
61
- <td>If true, the ripple effect will be disabled.</td>
62
- </tr>
63
- <tr>
64
- <td>onSelectOption: function</td>
65
- <td></td>
66
- <td>This function will be called every time the selection changes. The string with the key of the selected value will be passed as a parameter to this function.</td>
67
- </tr>
68
- </table>
69
-
Binary file
Binary file
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="300.5" height="48" viewBox="0 0 300.5 48">
2
- <g id="Grupo_1" data-name="Grupo 1" transform="translate(-38 103)">
3
- <rect id="Rectángulo_1" data-name="Rectángulo 1" width="300.5" height="48" transform="translate(38 -103)" fill="none"/>
4
- <path id="Trazado_2" data-name="Trazado 2" d="M49.867,46.715a8.248,8.248,0,0,0-8.284-8.3h-3.6V55h3.6a8.244,8.244,0,0,0,8.284-8.285m6.476,2.693L50.476,59.54h11.7Zm0-5.386,5.835-10.131h-11.7Zm6.444,2.693A8.244,8.244,0,0,0,71.071,55h3.605V38.412H71.071a8.248,8.248,0,0,0-8.284,8.3M330.638,60.21c-1.337,3.391-3.016,5.008-6.842,5.008a13.99,13.99,0,0,1-2.208-.156V60.8a11.909,11.909,0,0,0,1.679.187c1.275,0,2.084-.5,2.737-2.084l.4-.995-6.9-16.142h5.536l4.012,9.921,3.7-9.89h5.226L330.638,60.21M308.869,53.9a4.1,4.1,0,0,1,0-8.18,4.1,4.1,0,0,1,0,8.18m8.988,4.261V41.767H312.85v2.364a5.837,5.837,0,0,0-5.07-2.769c-4.7,0-7.806,3.639-7.806,8.46,0,4.79,3.234,8.18,7.868,8.18a5.85,5.85,0,0,0,4.946-2.488v2.768c0,2.3-1.213,3.577-3.639,3.577-2.146,0-3.328-1-3.546-2.457h-5.039c.28,3.576,3.111,6.127,8.46,6.127,5.941,0,8.833-2.675,8.833-7.371M289.43,53.9a3.821,3.821,0,0,1-3.795-4.075A3.819,3.819,0,1,1,289.43,53.9m0,4.385c5.6,0,8.926-3.888,8.926-8.46,0-4.6-3.328-8.491-8.926-8.491-5.536,0-8.895,3.888-8.895,8.491,0,4.572,3.359,8.46,8.895,8.46m-16.422-.435h5.07V34.52h-5.07ZM261.624,53.9a3.82,3.82,0,0,1-3.794-4.075,3.819,3.819,0,1,1,3.794,4.075m0,4.385c5.6,0,8.927-3.888,8.927-8.46,0-4.6-3.328-8.491-8.927-8.491-5.536,0-8.895,3.888-8.895,8.491,0,4.572,3.359,8.46,8.895,8.46m-27.37-.435h5.07v-8.4c0-2.27,1.058-3.732,3.11-3.732,2.178,0,2.862,1.337,2.862,3.265v8.865h5.069V48.609c0-4.541-1.99-7.247-6.064-7.247a5.4,5.4,0,0,0-5.039,2.737V41.767h-5.008Zm-19.314,0h5.07v-8.4c0-2.27,1.057-3.732,3.11-3.732,2.177,0,2.861,1.337,2.861,3.265v8.865h5.07V48.609c0-4.541-1.991-7.247-6.065-7.247A5.333,5.333,0,0,0,220.01,44.1V34.52h-5.07Zm-2.271-9.891c-.622-3.732-3.39-6.625-8.242-6.625a8.479,8.479,0,1,0,0,16.951c4.852,0,7.62-2.892,8.242-6.625h-5.1a3.122,3.122,0,0,1-3.11,2.333c-2.24,0-3.671-1.9-3.671-4.168s1.431-4.2,3.671-4.2a3.087,3.087,0,0,1,3.079,2.333Zm-26.934-3.017a3.2,3.2,0,0,1,3.359,3.11h-6.811a3.255,3.255,0,0,1,3.452-3.11m7.931,8.025h-4.821a3.19,3.19,0,0,1-3.048,1.648,3.315,3.315,0,0,1-3.546-3.483h11.695a14.55,14.55,0,0,0,.124-1.9c0-4.261-2.954-7.9-8.273-7.9-5.474,0-8.46,3.826-8.46,8.491,0,4.634,3.017,8.46,8.522,8.46,4.386,0,7-2.333,7.807-5.318m-29.454-11.2v3.981h2.519v6.531c0,4.417,2.115,5.816,5.941,5.816a18.617,18.617,0,0,0,3.172-.248V53.772a17.282,17.282,0,0,1-2.021.187c-1.307,0-2.022-.436-2.022-2.053V45.748h3.67V41.767H171.8V37.008h-5.07v4.759Zm-6.871,13.125a3.233,3.233,0,1,0,3.232-3.235,3.231,3.231,0,0,0-3.232,3.235m-12.41,3.359c6.438,0,9.952-3.857,10.637-8.771h-5.319a5.088,5.088,0,0,1-5.194,4.074c-4.012,0-6.1-3.2-6.1-6.9s2.084-6.905,6.1-6.905a5.089,5.089,0,0,1,5.194,4.074h5.319c-.685-4.914-4.2-8.77-10.637-8.77-7.185,0-11.353,5.474-11.353,11.6s4.168,11.6,11.353,11.6m-17.449-.4h6.159l-7.247-11.259,7.184-11.135h-6.033L123.1,42.824l-4.51-7.371H112.46l7.216,11.135L112.4,57.847h6l4.573-7.465ZM100.765,39.994a6.392,6.392,0,0,1,6.5,6.656,6.409,6.409,0,0,1-6.5,6.656H98.06V39.994ZM92.8,57.847h8.211c7.465,0,11.633-5.474,11.633-11.2s-4.2-11.2-11.633-11.2H92.8Z" transform="translate(0.021 -126.891)"/>
5
- </g>
6
- </svg>
Binary file
@@ -1,235 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
-
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
-
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
-
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
-
15
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
16
-
17
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
-
19
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
-
21
- var _react = _interopRequireDefault(require("react"));
22
-
23
- var _react2 = require("@storybook/react");
24
-
25
- var _addonActions = require("@storybook/addon-actions");
26
-
27
- var _amazon = _interopRequireDefault(require("../../.storybook/public/amazon.svg"));
28
-
29
- var _ebay = _interopRequireDefault(require("../../.storybook/public/ebay.svg"));
30
-
31
- var _apple = _interopRequireDefault(require("../../.storybook/public/apple.svg"));
32
-
33
- var _addonKnobs = require("@storybook/addon-knobs");
34
-
35
- var _readme = _interopRequireDefault(require("./readme.md"));
36
-
37
- var _Select = _interopRequireDefault(require("./Select"));
38
-
39
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
40
-
41
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
-
43
- var onChange = (0, _addonActions.action)("onChange");
44
-
45
- onChange.toString = function () {
46
- return "onChangeHandler";
47
- };
48
-
49
- var selectOptions = [{
50
- value: 1,
51
- label: "Amazon",
52
- iconSrc: _amazon["default"]
53
- }, {
54
- value: 2,
55
- label: "Ebay",
56
- iconSrc: _ebay["default"]
57
- }, {
58
- value: 3,
59
- label: "Apple",
60
- iconSrc: _apple["default"]
61
- }];
62
- var selectOptionsWithoutIcon = [{
63
- value: 1,
64
- label: "Amazon"
65
- }, {
66
- value: 2,
67
- label: "Ebay"
68
- }, {
69
- value: 3,
70
- label: "Apple"
71
- }];
72
- var selectOptionsWithoutLabel = [{
73
- value: 1,
74
- label: "",
75
- iconSrc: _amazon["default"]
76
- }, {
77
- value: 2,
78
- label: "",
79
- iconSrc: _ebay["default"]
80
- }, {
81
- value: 3,
82
- label: "",
83
- iconSrc: _apple["default"]
84
- }];
85
- (0, _react2.storiesOf)("Form Components|Select", module).add("Component", function () {
86
- return _react["default"].createElement("div", null, _react["default"].createElement("h2", null, "Light"), _react["default"].createElement("div", null, _react["default"].createElement(_Select["default"], {
87
- disabled: false,
88
- theme: "light",
89
- name: "selectName",
90
- label: "Select Label",
91
- options: selectOptionsWithoutIcon,
92
- required: false,
93
- onChange: onChange,
94
- iconPosition: "before"
95
- })), _react["default"].createElement("h4", null, "Multiple"), _react["default"].createElement("div", null, _react["default"].createElement(_Select["default"], {
96
- disabled: false,
97
- theme: "light",
98
- multiple: true,
99
- name: "selectNameMultiple",
100
- label: "Select Multiple",
101
- options: selectOptionsWithoutIcon,
102
- required: false,
103
- onChange: onChange,
104
- iconPosition: "after"
105
- })), _react["default"].createElement("h4", null, "Only Icons"), _react["default"].createElement("div", null, _react["default"].createElement(_Select["default"], {
106
- disabled: false,
107
- theme: "light",
108
- multiple: true,
109
- name: "selectNameOnlyIcons",
110
- label: "Only icons",
111
- options: selectOptionsWithoutLabel,
112
- required: false,
113
- onChange: onChange,
114
- iconPosition: "before"
115
- })), _react["default"].createElement("h2", null, "Dark"), _react["default"].createElement("div", {
116
- style: {
117
- background: "black"
118
- }
119
- }, _react["default"].createElement(_Select["default"], {
120
- disabled: false,
121
- theme: "dark",
122
- name: "selectNameDark",
123
- label: "Select Label Dark",
124
- options: selectOptions,
125
- required: false,
126
- onChange: onChange,
127
- iconPosition: "before"
128
- }), _react["default"].createElement("h4", null, "Multiple"), _react["default"].createElement("div", null, _react["default"].createElement(_Select["default"], {
129
- disabled: false,
130
- theme: "dark",
131
- multiple: true,
132
- name: "selectNameMultipleDark",
133
- label: "Select Multiple",
134
- options: selectOptions,
135
- required: false,
136
- onChange: onChange,
137
- iconPosition: "after"
138
- })), _react["default"].createElement("h4", null, "Only Icons"), _react["default"].createElement("div", null, _react["default"].createElement(_Select["default"], {
139
- disabled: false,
140
- theme: "dark",
141
- multiple: true,
142
- name: "selectNameOnlyIcons",
143
- label: "Only icons",
144
- options: selectOptionsWithoutLabel,
145
- required: false,
146
- onChange: onChange,
147
- iconPosition: "before"
148
- }))));
149
- }, {
150
- notes: {
151
- markdown: _readme["default"]
152
- }
153
- });
154
- (0, _react2.storiesOf)("Form Components|Select", module).add("Controlled Component", function () {
155
- var ControlledStory =
156
- /*#__PURE__*/
157
- function (_React$Component) {
158
- (0, _inherits2["default"])(ControlledStory, _React$Component);
159
-
160
- function ControlledStory(props) {
161
- var _this;
162
-
163
- (0, _classCallCheck2["default"])(this, ControlledStory);
164
- _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ControlledStory).call(this, props));
165
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onValueChange", function (value) {
166
- return _this.setState({
167
- value: value
168
- });
169
- });
170
- _this.state = {
171
- value: []
172
- };
173
- return _this;
174
- }
175
-
176
- (0, _createClass2["default"])(ControlledStory, [{
177
- key: "render",
178
- value: function render() {
179
- var props = _objectSpread({}, this.props, {
180
- onChange: this.onValueChange,
181
- value: this.state.value
182
- });
183
-
184
- return _react["default"].createElement(_Select["default"], props);
185
- }
186
- }]);
187
- return ControlledStory;
188
- }(_react["default"].Component);
189
-
190
- var props = {
191
- disabled: false,
192
- theme: "light",
193
- name: "selectName",
194
- multiple: true,
195
- options: selectOptions,
196
- required: false,
197
- iconPosition: "before",
198
- label: "Select label"
199
- };
200
- return _react["default"].createElement(ControlledStory, props);
201
- });
202
-
203
- var knobProps = function knobProps() {
204
- return {
205
- label: (0, _addonKnobs.text)("label", "Test Select"),
206
- theme: (0, _addonKnobs.select)("theme", {
207
- light: "light",
208
- dark: "dark"
209
- }, "light"),
210
- disabled: (0, _addonKnobs["boolean"])("disabled", false),
211
- required: (0, _addonKnobs["boolean"])("required", false),
212
- iconPosition: (0, _addonKnobs.select)("icon poistion", {
213
- before: "before",
214
- after: "after"
215
- }, "before") // ,
216
- // multiple: boolean("multiple", false)
217
-
218
- };
219
- };
220
-
221
- (0, _react2.storiesOf)("Form Components|Select", module).add("Knobs example", function () {
222
- var props = knobProps();
223
- return _react["default"].createElement("div", {
224
- style: {
225
- background: props.theme === "dark" && "black" || "transparent"
226
- }
227
- }, _react["default"].createElement(_Select["default"], (0, _extends2["default"])({}, props, {
228
- options: selectOptions,
229
- onChange: onChange
230
- })));
231
- }, {
232
- notes: {
233
- markdown: _readme["default"]
234
- }
235
- });
@@ -1,72 +0,0 @@
1
- # DXC Select Component
2
-
3
- ## Props
4
-
5
- <table>
6
- <tr style="background-color: grey">
7
- <td>Name</td>
8
- <td>Default</td>
9
- <td>Description</td>
10
- </tr>
11
- <tr>
12
- <td>options: object[]</td>
13
- <td><code>[]</code></td>
14
- <td>An array of objects representing the selectable options. Each object has the following properties:
15
- <ul>
16
- <li><b>value</b>: Option inner value</li>
17
- <li><b>label</b>: Option display value</li>
18
- <li><b>iconSrc</b>: URL of the icon that will be placed next to the option label</li>
19
- </ul>
20
- </td>
21
- </tr>
22
- <tr>
23
- <td>iconPosition: 'before' | 'after'</td>
24
- <td><code>'before'</code></td>
25
- <td>In case options include an icon, whether the icon should appear after or before the label.</td>
26
- </tr>
27
- <tr>
28
- <td>value: string | string[]</td>
29
- <td><code>[]</code></td>
30
- <td>The key of the selected value/values. If the select component doesn't allow multiple selection, value must be a string. If the select component allows multiple selection, value must be an array of strings</td>
31
- </tr>
32
- <tr>
33
- <td>multiple: boolean</td>
34
- <td><code>false</code></td>
35
- <td>If true, the select component will support multiple selection. In that case, value must be an array of strings with the keys of the selected values, otherwise value must be a string.</td>
36
- </tr>
37
- <tr>
38
- <td>label: string</td>
39
- <td></td>
40
- <td>Text to be placed next to the select.</td>
41
- </tr>
42
- <tr>
43
- <td>theme: 'light' | 'dark'</td>
44
- <td><code>'light'</code></td>
45
- <td>Uses one of the available component themes.</td>
46
- </tr>
47
- <tr>
48
- <td>name: string</td>
49
- <td></td>
50
- <td>Name attribute of the input element.</td>
51
- </tr>
52
- <tr>
53
- <td>disabled: boolean</td>
54
- <td><code>false</code></td>
55
- <td>If true, the component will be disabled.</td>
56
- </tr>
57
- <tr>
58
- <td>required: boolean</td>
59
- <td><code>false</code></td>
60
- <td>If true, a red asterisk will appear before the label to indicate to the user that the field is required.</td>
61
- </tr>
62
- <tr>
63
- <td>disableRipple: boolean</td>
64
- <td><code>false</code></td>
65
- <td>If true, the ripple effect will be disabled.</td>
66
- </tr>
67
- <tr>
68
- <td>onChange: function</td>
69
- <td></td>
70
- <td>This function will be called every time the selection changes. The string with the key of the selected value will be passed as a parameter to this function. If multiple selection is allowed, an array of keys will be passed</td>
71
- </tr>
72
- </table>
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15.995" height="10.01" viewBox="0 0 15.995 10.01">
2
- <path id="arrow-to-right" d="M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z" transform="translate(-2 -6.996)"/>
3
- </svg>