@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06

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 (329) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +126 -111
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +42 -118
  8. package/accordion/Accordion.stories.tsx +85 -139
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +6 -18
  11. package/accordion-group/AccordionGroup.d.ts +2 -2
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +7 -19
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +48 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.js +31 -124
  26. package/alert/Alert.stories.tsx +28 -0
  27. package/alert/Alert.test.js +29 -46
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.d.ts +1 -1
  30. package/badge/Badge.js +141 -43
  31. package/badge/Badge.stories.tsx +210 -0
  32. package/badge/Badge.test.js +30 -0
  33. package/badge/types.d.ts +52 -3
  34. package/bleed/Bleed.js +13 -21
  35. package/bleed/Bleed.stories.tsx +1 -0
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.d.ts +1 -1
  38. package/box/Box.js +18 -59
  39. package/box/Box.stories.tsx +38 -51
  40. package/box/Box.test.js +2 -7
  41. package/box/types.d.ts +3 -15
  42. package/bulleted-list/BulletedList.js +19 -53
  43. package/bulleted-list/BulletedList.stories.tsx +8 -93
  44. package/bulleted-list/types.d.ts +32 -5
  45. package/button/Button.d.ts +1 -1
  46. package/button/Button.js +71 -106
  47. package/button/Button.stories.tsx +144 -101
  48. package/button/Button.test.js +20 -17
  49. package/button/types.d.ts +9 -5
  50. package/card/Card.d.ts +1 -1
  51. package/card/Card.js +48 -89
  52. package/card/Card.stories.tsx +12 -42
  53. package/card/Card.test.js +11 -22
  54. package/card/types.d.ts +6 -12
  55. package/checkbox/Checkbox.d.ts +2 -2
  56. package/checkbox/Checkbox.js +90 -124
  57. package/checkbox/Checkbox.stories.tsx +68 -54
  58. package/checkbox/Checkbox.test.js +108 -64
  59. package/checkbox/types.d.ts +11 -3
  60. package/chip/Chip.js +39 -79
  61. package/chip/Chip.stories.tsx +121 -26
  62. package/chip/Chip.test.js +16 -31
  63. package/chip/types.d.ts +4 -4
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1395 -0
  69. package/common/variables.js +914 -1156
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/contextual-menu/ContextualMenu.d.ts +7 -0
  75. package/contextual-menu/ContextualMenu.js +71 -0
  76. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  77. package/contextual-menu/ContextualMenu.test.js +71 -0
  78. package/contextual-menu/MenuItemAction.d.ts +4 -0
  79. package/contextual-menu/MenuItemAction.js +46 -0
  80. package/contextual-menu/types.d.ts +22 -0
  81. package/date-input/Calendar.d.ts +4 -0
  82. package/date-input/Calendar.js +214 -0
  83. package/date-input/DateInput.js +150 -299
  84. package/date-input/DateInput.stories.tsx +203 -56
  85. package/date-input/DateInput.test.js +700 -371
  86. package/date-input/DatePicker.d.ts +4 -0
  87. package/date-input/DatePicker.js +115 -0
  88. package/date-input/Icons.d.ts +6 -0
  89. package/date-input/Icons.js +58 -0
  90. package/date-input/YearPicker.d.ts +4 -0
  91. package/date-input/YearPicker.js +100 -0
  92. package/date-input/types.d.ts +72 -15
  93. package/dialog/Dialog.d.ts +1 -1
  94. package/dialog/Dialog.js +61 -119
  95. package/dialog/Dialog.stories.tsx +310 -212
  96. package/dialog/Dialog.test.js +269 -32
  97. package/dialog/types.d.ts +18 -26
  98. package/divider/Divider.d.ts +4 -0
  99. package/divider/Divider.js +36 -0
  100. package/divider/Divider.stories.tsx +223 -0
  101. package/divider/Divider.test.js +38 -0
  102. package/divider/types.d.ts +21 -0
  103. package/divider/types.js +5 -0
  104. package/dropdown/Dropdown.js +84 -153
  105. package/dropdown/Dropdown.stories.tsx +209 -94
  106. package/dropdown/Dropdown.test.js +409 -400
  107. package/dropdown/DropdownMenu.js +20 -37
  108. package/dropdown/DropdownMenuItem.js +15 -37
  109. package/dropdown/types.d.ts +20 -24
  110. package/file-input/FileInput.d.ts +2 -2
  111. package/file-input/FileInput.js +193 -262
  112. package/file-input/FileInput.stories.tsx +86 -3
  113. package/file-input/FileInput.test.js +356 -395
  114. package/file-input/FileItem.js +15 -41
  115. package/file-input/types.d.ts +13 -9
  116. package/flex/Flex.js +27 -39
  117. package/flex/Flex.stories.tsx +35 -26
  118. package/flex/types.d.ts +74 -9
  119. package/footer/Footer.d.ts +1 -1
  120. package/footer/Footer.js +70 -117
  121. package/footer/Footer.stories.tsx +55 -21
  122. package/footer/Footer.test.js +33 -57
  123. package/footer/Icons.d.ts +3 -2
  124. package/footer/Icons.js +66 -7
  125. package/footer/types.d.ts +25 -27
  126. package/grid/Grid.d.ts +7 -0
  127. package/grid/Grid.js +76 -0
  128. package/grid/Grid.stories.tsx +219 -0
  129. package/grid/types.d.ts +115 -0
  130. package/grid/types.js +5 -0
  131. package/header/Header.d.ts +4 -3
  132. package/header/Header.js +48 -133
  133. package/header/Header.stories.tsx +115 -36
  134. package/header/Header.test.js +13 -26
  135. package/header/Icons.d.ts +2 -2
  136. package/header/Icons.js +2 -7
  137. package/header/types.d.ts +7 -22
  138. package/heading/Heading.js +10 -32
  139. package/heading/Heading.test.js +71 -88
  140. package/heading/types.d.ts +7 -7
  141. package/icon/Icon.d.ts +4 -0
  142. package/icon/Icon.js +33 -0
  143. package/icon/Icon.stories.tsx +28 -0
  144. package/icon/types.d.ts +4 -0
  145. package/icon/types.js +5 -0
  146. package/image/Image.d.ts +4 -0
  147. package/image/Image.js +70 -0
  148. package/image/Image.stories.tsx +129 -0
  149. package/image/types.d.ts +72 -0
  150. package/image/types.js +5 -0
  151. package/inset/Inset.js +13 -21
  152. package/inset/Inset.stories.tsx +2 -1
  153. package/inset/types.d.ts +2 -2
  154. package/layout/ApplicationLayout.d.ts +5 -5
  155. package/layout/ApplicationLayout.js +30 -67
  156. package/layout/ApplicationLayout.stories.tsx +1 -1
  157. package/layout/Icons.d.ts +8 -5
  158. package/layout/Icons.js +51 -59
  159. package/layout/types.d.ts +5 -6
  160. package/link/Link.js +25 -46
  161. package/link/Link.stories.tsx +60 -0
  162. package/link/Link.test.js +24 -44
  163. package/link/types.d.ts +14 -14
  164. package/main.d.ts +10 -5
  165. package/main.js +47 -59
  166. package/nav-tabs/NavTabs.d.ts +7 -0
  167. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  168. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  169. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  170. package/nav-tabs/NavTabsContext.d.ts +3 -0
  171. package/nav-tabs/NavTabsContext.js +8 -0
  172. package/nav-tabs/Tab.js +118 -0
  173. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  174. package/nav-tabs/types.js +5 -0
  175. package/number-input/NumberInput.js +46 -36
  176. package/number-input/NumberInput.stories.tsx +42 -26
  177. package/number-input/NumberInput.test.js +860 -414
  178. package/number-input/NumberInputContext.d.ts +3 -4
  179. package/number-input/NumberInputContext.js +3 -14
  180. package/number-input/types.d.ts +17 -5
  181. package/package.json +37 -40
  182. package/paginator/Icons.d.ts +5 -0
  183. package/paginator/Icons.js +21 -47
  184. package/paginator/Paginator.js +22 -58
  185. package/paginator/Paginator.stories.tsx +24 -0
  186. package/paginator/Paginator.test.js +252 -225
  187. package/paginator/types.d.ts +3 -3
  188. package/paragraph/Paragraph.d.ts +3 -4
  189. package/paragraph/Paragraph.js +6 -22
  190. package/paragraph/Paragraph.stories.tsx +0 -17
  191. package/password-input/Icons.d.ts +6 -0
  192. package/password-input/Icons.js +35 -0
  193. package/password-input/PasswordInput.js +57 -126
  194. package/password-input/PasswordInput.stories.tsx +1 -33
  195. package/password-input/PasswordInput.test.js +158 -141
  196. package/password-input/types.d.ts +8 -7
  197. package/progress-bar/ProgressBar.d.ts +2 -2
  198. package/progress-bar/ProgressBar.js +23 -55
  199. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  200. package/progress-bar/ProgressBar.test.js +36 -53
  201. package/progress-bar/types.d.ts +4 -3
  202. package/quick-nav/QuickNav.js +4 -27
  203. package/quick-nav/QuickNav.stories.tsx +15 -1
  204. package/quick-nav/types.d.ts +10 -10
  205. package/radio-group/Radio.d.ts +1 -1
  206. package/radio-group/Radio.js +31 -63
  207. package/radio-group/RadioGroup.js +45 -93
  208. package/radio-group/RadioGroup.stories.tsx +131 -18
  209. package/radio-group/RadioGroup.test.js +505 -471
  210. package/radio-group/types.d.ts +8 -8
  211. package/resultset-table/Icons.d.ts +7 -0
  212. package/resultset-table/Icons.js +47 -0
  213. package/resultset-table/ResultsetTable.d.ts +7 -0
  214. package/resultset-table/ResultsetTable.js +170 -0
  215. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  216. package/resultset-table/ResultsetTable.test.js +381 -0
  217. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  218. package/resultset-table/types.js +5 -0
  219. package/select/Icons.d.ts +7 -7
  220. package/select/Icons.js +1 -5
  221. package/select/Listbox.d.ts +1 -1
  222. package/select/Listbox.js +17 -72
  223. package/select/Option.js +27 -50
  224. package/select/Select.js +120 -175
  225. package/select/Select.stories.tsx +497 -153
  226. package/select/Select.test.js +1974 -1837
  227. package/select/types.d.ts +16 -17
  228. package/sidenav/Icons.d.ts +7 -0
  229. package/{text-input → sidenav}/Icons.js +10 -23
  230. package/sidenav/Sidenav.d.ts +2 -2
  231. package/sidenav/Sidenav.js +83 -154
  232. package/sidenav/Sidenav.stories.tsx +165 -63
  233. package/sidenav/Sidenav.test.js +3 -10
  234. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  235. package/{layout → sidenav}/SidenavContext.js +3 -9
  236. package/sidenav/types.d.ts +31 -28
  237. package/slider/Slider.d.ts +2 -2
  238. package/slider/Slider.js +77 -134
  239. package/slider/Slider.test.js +108 -104
  240. package/slider/types.d.ts +7 -3
  241. package/spinner/Spinner.js +31 -75
  242. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  243. package/spinner/Spinner.test.js +26 -35
  244. package/spinner/types.d.ts +3 -3
  245. package/status-light/StatusLight.d.ts +4 -0
  246. package/status-light/StatusLight.js +51 -0
  247. package/status-light/StatusLight.stories.tsx +74 -0
  248. package/status-light/StatusLight.test.js +25 -0
  249. package/status-light/types.d.ts +17 -0
  250. package/status-light/types.js +5 -0
  251. package/switch/Switch.d.ts +3 -3
  252. package/switch/Switch.js +56 -103
  253. package/switch/Switch.stories.tsx +33 -34
  254. package/switch/Switch.test.js +52 -97
  255. package/switch/types.d.ts +8 -3
  256. package/table/DropdownTheme.js +62 -0
  257. package/table/Table.d.ts +6 -2
  258. package/table/Table.js +78 -35
  259. package/table/Table.stories.tsx +651 -0
  260. package/table/Table.test.js +95 -8
  261. package/table/types.d.ts +34 -6
  262. package/tabs/Tab.js +26 -45
  263. package/tabs/Tabs.js +62 -145
  264. package/tabs/Tabs.stories.tsx +46 -6
  265. package/tabs/Tabs.test.js +66 -123
  266. package/tabs/types.d.ts +19 -19
  267. package/tag/Tag.js +28 -60
  268. package/tag/Tag.stories.tsx +14 -1
  269. package/tag/Tag.test.js +20 -31
  270. package/tag/types.d.ts +7 -7
  271. package/text-input/Suggestion.js +35 -25
  272. package/text-input/Suggestions.d.ts +1 -1
  273. package/text-input/Suggestions.js +19 -67
  274. package/text-input/TextInput.js +223 -333
  275. package/text-input/TextInput.stories.tsx +139 -155
  276. package/text-input/TextInput.test.js +1389 -1404
  277. package/text-input/types.d.ts +25 -17
  278. package/textarea/Textarea.js +70 -113
  279. package/textarea/Textarea.stories.tsx +174 -0
  280. package/textarea/Textarea.test.js +152 -183
  281. package/textarea/types.d.ts +9 -5
  282. package/toggle-group/ToggleGroup.d.ts +2 -2
  283. package/toggle-group/ToggleGroup.js +92 -106
  284. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  285. package/toggle-group/ToggleGroup.test.js +69 -88
  286. package/toggle-group/types.d.ts +26 -17
  287. package/typography/Typography.d.ts +2 -2
  288. package/typography/Typography.js +15 -123
  289. package/typography/Typography.stories.tsx +1 -1
  290. package/typography/types.d.ts +1 -1
  291. package/useTheme.d.ts +1147 -1
  292. package/useTheme.js +2 -9
  293. package/useTranslatedLabels.d.ts +84 -1
  294. package/useTranslatedLabels.js +1 -7
  295. package/utils/BaseTypography.d.ts +21 -0
  296. package/utils/BaseTypography.js +94 -0
  297. package/utils/FocusLock.d.ts +13 -0
  298. package/utils/FocusLock.js +124 -0
  299. package/wizard/Wizard.js +16 -51
  300. package/wizard/Wizard.stories.tsx +20 -0
  301. package/wizard/Wizard.test.js +54 -81
  302. package/wizard/types.d.ts +9 -10
  303. package/card/ice-cream.jpg +0 -0
  304. package/common/OpenSans.css +0 -81
  305. package/common/RequiredComponent.js +0 -32
  306. package/common/fonts/OpenSans-Bold.ttf +0 -0
  307. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  308. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  309. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  310. package/common/fonts/OpenSans-Italic.ttf +0 -0
  311. package/common/fonts/OpenSans-Light.ttf +0 -0
  312. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  313. package/common/fonts/OpenSans-Regular.ttf +0 -0
  314. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  315. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  316. package/number-input/numberInputContextTypes.d.ts +0 -19
  317. package/resultsetTable/ResultsetTable.d.ts +0 -4
  318. package/resultsetTable/ResultsetTable.js +0 -252
  319. package/resultsetTable/ResultsetTable.test.js +0 -348
  320. package/slider/Slider.stories.tsx +0 -183
  321. package/table/Table.stories.jsx +0 -277
  322. package/tabs-nav/NavTabs.d.ts +0 -8
  323. package/tabs-nav/Tab.js +0 -130
  324. package/text-input/Icons.d.ts +0 -8
  325. package/textarea/Textarea.stories.jsx +0 -157
  326. /package/{resultsetTable → action-icon}/types.js +0 -0
  327. /package/{tabs-nav → container}/types.js +0 -0
  328. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  329. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,19 +1,15 @@
1
1
  import React from "react";
2
2
  import { userEvent, within } from "@storybook/testing-library";
3
- import { BackgroundColorProvider } from "../BackgroundColorContext";
4
3
  import Title from "../../.storybook/components/Title";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import DarkContainer from "../../.storybook/components/DarkSection";
7
5
  import DxcTextInput from "./TextInput";
8
- import DxcButton from "../button/Button";
9
- import DxcCheckbox from "../checkbox/Checkbox";
10
- import DxcFlex from "../flex/Flex";
11
6
  import Suggestions from "./Suggestions";
12
7
  import { ThemeProvider } from "styled-components";
13
8
  import useTheme from "../useTheme";
9
+ import { HalstackProvider } from "../HalstackContext";
14
10
 
15
11
  export default {
16
- title: "Text input",
12
+ title: "Text Input",
17
13
  component: DxcTextInput,
18
14
  };
19
15
 
@@ -27,7 +23,7 @@ const action = {
27
23
  ),
28
24
  };
29
25
 
30
- const actionLargeIcon = {
26
+ const actionLargeIconSVG = {
31
27
  onClick: () => {},
32
28
  icon: (
33
29
  <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
@@ -37,14 +33,19 @@ const actionLargeIcon = {
37
33
  ),
38
34
  };
39
35
 
36
+ const actionLargeIconURL = {
37
+ onClick: () => {},
38
+ icon: "search",
39
+ };
40
+
40
41
  const country = ["Afghanistan"];
41
42
  const countries = [
42
43
  "Afghanistan",
43
44
  "Albania",
44
45
  "Algeria",
45
- "Andorra Andorra Andorra Andorra Andorra Andorra Andorra Andorra",
46
+ "Andorra",
46
47
  "Angola",
47
- "Antigua and Barbuda Antigua and Barbuda Antigua and Barbuda",
48
+ "Antigua and Barbuda",
48
49
  "Bahamas",
49
50
  "Bahrain",
50
51
  "Bangladesh",
@@ -63,6 +64,13 @@ const countries = [
63
64
  "Djibouti",
64
65
  ];
65
66
 
67
+ const opinionatedTheme = {
68
+ textInput: {
69
+ fontColor: "#000000",
70
+ hoverBorderColor: "#a46ede",
71
+ },
72
+ };
73
+
66
74
  export const Chromatic = () => (
67
75
  <>
68
76
  <ExampleContainer pseudoState="pseudo-hover">
@@ -98,12 +106,21 @@ export const Chromatic = () => (
98
106
  <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
99
107
  </ExampleContainer>
100
108
  <ExampleContainer>
101
- <Title title="Clearable and large icon action" theme="light" level={4} />
109
+ <Title title="Clearable and large icon action (SVG)" theme="light" level={4} />
110
+ <DxcTextInput
111
+ label="Text input"
112
+ defaultValue="Text text text text text text text text text text"
113
+ clearable
114
+ action={actionLargeIconSVG}
115
+ />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Clearable and large icon action (URL)" theme="light" level={4} />
102
119
  <DxcTextInput
103
120
  label="Text input"
104
121
  defaultValue="Text text text text text text text text text text"
105
122
  clearable
106
- action={actionLargeIcon}
123
+ action={actionLargeIconURL}
107
124
  />
108
125
  </ExampleContainer>
109
126
  <ExampleContainer>
@@ -163,94 +180,45 @@ export const Chromatic = () => (
163
180
  action={action}
164
181
  />
165
182
  </ExampleContainer>
166
- <BackgroundColorProvider color="#333333">
167
- <DarkContainer>
168
- <Title title="Dark theme" theme="dark" level={2} />
169
- <ExampleContainer pseudoState="pseudo-hover">
170
- <Title title="Hovered" theme="dark" level={4} />
171
- <DxcTextInput label="Text input" />
172
- </ExampleContainer>
173
- <ExampleContainer pseudoState="pseudo-focus-within">
174
- <Title title="Focused" theme="dark" level={4} />
175
- <DxcTextInput label="Text input" />
176
- </ExampleContainer>
177
- <ExampleContainer pseudoState="pseudo-hover">
178
- <Title title="Hovered action" theme="dark" level={4} />
179
- <DxcTextInput label="Text input" defaultValue="Text" clearable />
180
- </ExampleContainer>
181
- <ExampleContainer pseudoState="pseudo-active">
182
- <Title title="Actived action" theme="dark" level={4} />
183
- <DxcTextInput label="Text input" action={action} clearable />
184
- </ExampleContainer>
185
- <ExampleContainer pseudoState="pseudo-focus">
186
- <Title title="Focused action" theme="dark" level={4} />
187
- <DxcTextInput label="Text input" action={action} clearable />
188
- </ExampleContainer>
189
- <ExampleContainer>
190
- <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
191
- <DxcTextInput
192
- label="Text input"
193
- helperText="Help message"
194
- placeholder="Placeholder"
195
- clearable
196
- optional
197
- action={action}
198
- />
199
- </ExampleContainer>
200
- <ExampleContainer>
201
- <Title title="Invalid" theme="dark" level={4} />
202
- <DxcTextInput
203
- label="Error text input"
204
- helperText="Help message"
205
- error="Error message."
206
- defaultValue="Text"
207
- clearable
208
- action={action}
209
- />
210
- </ExampleContainer>
211
- <ExampleContainer pseudoState="pseudo-hover">
212
- <Title title="Invalid and hovered" theme="dark" level={4} />
213
- <DxcTextInput
214
- label="Error text input"
215
- helperText="Help message"
216
- placeholder="Placeholder"
217
- error="Error message."
218
- />
219
- </ExampleContainer>
220
- <ExampleContainer>
221
- <Title title="Prefix and suffix" theme="dark" level={4} />
222
- <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
223
- </ExampleContainer>
224
- <ExampleContainer>
225
- <Title title="Disabled and placeholder" theme="dark" level={4} />
226
- <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
227
- </ExampleContainer>
228
- <ExampleContainer>
229
- <Title title="Disabled, helper text, optional, value and action" theme="dark" level={4} />
230
- <DxcTextInput
231
- label="Disabled text input"
232
- helperText="Help message"
233
- disabled
234
- optional
235
- defaultValue="Text"
236
- action={action}
237
- />
238
- </ExampleContainer>
239
- <ExampleContainer>
240
- <Title title="Disabled with prefix and suffix" theme="dark" level={4} />
241
- <DxcTextInput
242
- label="Disabled text input"
243
- helperText="Help message"
244
- disabled
245
- optional
246
- prefix="+34"
247
- suffix="USD"
248
- defaultValue="Text"
249
- action={action}
250
- />
251
- </ExampleContainer>
252
- </DarkContainer>
253
- </BackgroundColorProvider>
183
+ <ExampleContainer>
184
+ <Title title="Read only" theme="light" level={4} />
185
+ <DxcTextInput
186
+ label="Example label"
187
+ helperText="Help message"
188
+ clearable
189
+ readOnly
190
+ optional
191
+ prefix="+34"
192
+ defaultValue="Text"
193
+ action={action}
194
+ />
195
+ </ExampleContainer>
196
+ <ExampleContainer pseudoState="pseudo-hover">
197
+ <Title title="Hovered read only" theme="light" level={4} />
198
+ <DxcTextInput
199
+ label="Example label"
200
+ helperText="Help message"
201
+ clearable
202
+ readOnly
203
+ optional
204
+ prefix="+34"
205
+ defaultValue="Text"
206
+ action={action}
207
+ />
208
+ </ExampleContainer>
209
+ <ExampleContainer pseudoState="pseudo-active">
210
+ <Title title="Active read only" theme="light" level={4} />
211
+ <DxcTextInput
212
+ label="Example label"
213
+ helperText="Help message"
214
+ clearable
215
+ readOnly
216
+ optional
217
+ prefix="+34"
218
+ defaultValue="Text"
219
+ action={action}
220
+ />
221
+ </ExampleContainer>
254
222
  <Title title="Margins" theme="light" level={2} />
255
223
  <ExampleContainer>
256
224
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -297,6 +265,66 @@ export const Chromatic = () => (
297
265
  <Title title="FillParent size" theme="light" level={4} />
298
266
  <DxcTextInput label="FillParent" size="fillParent" />
299
267
  </ExampleContainer>
268
+ <Title title="Opinionated theme" theme="light" level={2} />
269
+ <ExampleContainer>
270
+ <HalstackProvider theme={opinionatedTheme}>
271
+ <ExampleContainer pseudoState="pseudo-hover">
272
+ <Title title="Hovered input" theme="light" level={4} />
273
+ <DxcTextInput label="Text input" helperText="Help message" />
274
+ </ExampleContainer>
275
+ <ExampleContainer pseudoState="pseudo-focus-within">
276
+ <Title title="Focused input" theme="light" level={4} />
277
+ <DxcTextInput label="Text input" helperText="Help message" />
278
+ </ExampleContainer>
279
+ <ExampleContainer pseudoState="pseudo-hover">
280
+ <Title title="Hovered action" theme="light" level={4} />
281
+ <DxcTextInput label="Text input" helperText="Help message" defaultValue="Text" clearable />
282
+ </ExampleContainer>
283
+ <ExampleContainer pseudoState="pseudo-active">
284
+ <Title title="Actived action" theme="light" level={4} />
285
+ <DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
286
+ </ExampleContainer>
287
+ <ExampleContainer pseudoState="pseudo-focus">
288
+ <Title title="Focused action" theme="light" level={4} />
289
+ <DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
290
+ </ExampleContainer>
291
+ <ExampleContainer>
292
+ <Title title="Prefix" theme="light" level={4} />
293
+ <DxcTextInput label="With prefix" prefix="+34" helperText="Help message" />
294
+ </ExampleContainer>
295
+ <ExampleContainer>
296
+ <Title title="Suffix and action" theme="light" level={4} />
297
+ <DxcTextInput label="With suffix" helperText="Help message" suffix="USD" action={action} />
298
+ </ExampleContainer>
299
+ <ExampleContainer>
300
+ <Title title="Invalid" theme="light" level={4} />
301
+ <DxcTextInput
302
+ label="Error text input"
303
+ helperText="Help message"
304
+ error="Error message."
305
+ defaultValue="Text"
306
+ clearable
307
+ optional
308
+ action={action}
309
+ />
310
+ </ExampleContainer>
311
+ <ExampleContainer>
312
+ <Title title="Disabled and placeholder" theme="light" level={4} />
313
+ <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" prefix="+34" suffix="USD" />
314
+ </ExampleContainer>
315
+ <ExampleContainer>
316
+ <Title title="Disabled, helper text, optional, value and action" theme="light" level={4} />
317
+ <DxcTextInput
318
+ label="Disabled text input"
319
+ helperText="Help message"
320
+ disabled
321
+ optional
322
+ defaultValue="Text"
323
+ action={action}
324
+ />
325
+ </ExampleContainer>
326
+ </HalstackProvider>
327
+ </ExampleContainer>
300
328
  </>
301
329
  );
302
330
 
@@ -308,7 +336,11 @@ const AutosuggestListbox = () => {
308
336
  <ExampleContainer>
309
337
  <Title title="Autosuggest listbox" theme="light" level={2} />
310
338
  <ExampleContainer>
311
- <Title title="List dialog uses a Radix Popover to appear over elements with a certain z-index" theme="light" level={3} />
339
+ <Title
340
+ title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
341
+ theme="light"
342
+ level={3}
343
+ />
312
344
  <div
313
345
  style={{
314
346
  display: "flex",
@@ -322,6 +354,7 @@ const AutosuggestListbox = () => {
322
354
  borderRadius: "4px",
323
355
  overflow: "auto",
324
356
  zIndex: "1300",
357
+ position: "relative",
325
358
  }}
326
359
  >
327
360
  <DxcTextInput
@@ -346,7 +379,7 @@ const AutosuggestListbox = () => {
346
379
  searchHasErrors={false}
347
380
  isSearching={false}
348
381
  suggestionOnClick={() => {}}
349
- getTextInputWidth={() => 350}
382
+ styles={{ width: 350 }}
350
383
  />
351
384
  </ExampleContainer>
352
385
  <ExampleContainer pseudoState="pseudo-active">
@@ -360,7 +393,7 @@ const AutosuggestListbox = () => {
360
393
  searchHasErrors={false}
361
394
  isSearching={false}
362
395
  suggestionOnClick={(suggestion) => {}}
363
- getTextInputWidth={() => 350}
396
+ styles={{ width: 350 }}
364
397
  />
365
398
  </ExampleContainer>
366
399
  <ExampleContainer>
@@ -374,7 +407,7 @@ const AutosuggestListbox = () => {
374
407
  searchHasErrors={false}
375
408
  isSearching={false}
376
409
  suggestionOnClick={(suggestion) => {}}
377
- getTextInputWidth={() => 350}
410
+ styles={{ width: 350 }}
378
411
  />
379
412
  </ExampleContainer>
380
413
  <ExampleContainer>
@@ -388,7 +421,7 @@ const AutosuggestListbox = () => {
388
421
  searchHasErrors={false}
389
422
  isSearching={false}
390
423
  suggestionOnClick={(suggestion) => {}}
391
- getTextInputWidth={() => 350}
424
+ styles={{ width: 350 }}
392
425
  />
393
426
  </ExampleContainer>
394
427
  </ExampleContainer>
@@ -403,7 +436,7 @@ const AutosuggestListbox = () => {
403
436
  searchHasErrors={true}
404
437
  isSearching={false}
405
438
  suggestionOnClick={(suggestion) => {}}
406
- getTextInputWidth={() => 350}
439
+ styles={{ width: 350 }}
407
440
  />
408
441
  </ExampleContainer>
409
442
  <ExampleContainer>
@@ -417,65 +450,16 @@ const AutosuggestListbox = () => {
417
450
  searchHasErrors={false}
418
451
  isSearching={true}
419
452
  suggestionOnClick={(suggestion) => {}}
420
- getTextInputWidth={() => 350}
453
+ styles={{ width: 350 }}
421
454
  />
422
455
  </ExampleContainer>
423
456
  </ThemeProvider>
424
457
  );
425
458
  };
426
459
 
427
- const DarkAutosuggestListbox = () => {
428
- const colorsTheme: any = useTheme();
429
-
430
- return (
431
- <ThemeProvider theme={colorsTheme.textInput}>
432
- <BackgroundColorProvider color="#333333">
433
- <DarkContainer>
434
- <Title title="Dark theme" theme="dark" level={2} />
435
- <ExampleContainer>
436
- <Title title="Default with opened suggestions" theme="dark" level={3} />
437
- <DxcFlex direction="column" gap="80px">
438
- <DxcTextInput label="Label" suggestions={countries} optional placeholder="Choose an option" />
439
- <DxcCheckbox
440
- label="You understand the selection and give your consent"
441
- onChange={() => {}}
442
- labelPosition="after"
443
- />
444
- <DxcButton label="Submit" onClick={() => {}} size="medium" margin={{ bottom: "xxlarge" }} />
445
- </DxcFlex>
446
- </ExampleContainer>
447
- <ExampleContainer>
448
- <Title title="Autosuggest Error" theme="dark" level={3} />
449
- <div style={{ height: "100px" }}>
450
- <Suggestions
451
- id="x"
452
- value=""
453
- suggestions={country}
454
- visualFocusIndex={-1}
455
- highlightedSuggestions={false}
456
- searchHasErrors={true}
457
- isSearching={false}
458
- suggestionOnClick={(suggestion) => {}}
459
- getTextInputWidth={() => 350}
460
- />
461
- </div>
462
- </ExampleContainer>
463
- </DarkContainer>
464
- </BackgroundColorProvider>
465
- </ThemeProvider>
466
- );
467
- };
468
-
469
460
  export const AutosuggestListboxStates = AutosuggestListbox.bind({});
470
461
  AutosuggestListboxStates.play = async ({ canvasElement }) => {
471
462
  const canvas = within(canvasElement);
472
463
  const select = canvas.getByRole("combobox");
473
464
  await userEvent.click(select);
474
465
  };
475
-
476
- export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
477
- AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
478
- const canvas = within(canvasElement);
479
- const select = canvas.getByRole("combobox");
480
- await userEvent.click(select);
481
- };