@indico-data/design-system 3.19.0 → 3.20.0

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 (288) hide show
  1. package/.eslintrc.js +87 -2
  2. package/.husky/pre-commit +2 -0
  3. package/.vscode/settings.json +10 -1
  4. package/lib/components/badge/Badge.d.ts +1 -1
  5. package/lib/components/badge/Badge.stories.d.ts +1 -1
  6. package/lib/components/button/Button.d.ts +2 -2
  7. package/lib/components/button/Button.stories.d.ts +1 -1
  8. package/lib/components/button/types.d.ts +1 -1
  9. package/lib/components/card/Card.d.ts +1 -1
  10. package/lib/components/card/Card.stories.d.ts +1 -1
  11. package/lib/components/floatUI/FloatUI.d.ts +1 -1
  12. package/lib/components/floatUI/FloatUI.stories.d.ts +2 -2
  13. package/lib/components/floatUI/types.d.ts +2 -2
  14. package/lib/components/forms/checkbox/Checkbox.stories.d.ts +1 -1
  15. package/lib/components/forms/date/datePicker/DatePicker.d.ts +1 -1
  16. package/lib/components/forms/date/datePicker/DatePicker.stories.d.ts +1 -1
  17. package/lib/components/forms/date/datePicker/contants.d.ts +1 -1
  18. package/lib/components/forms/date/datePicker/types.d.ts +1 -1
  19. package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.d.ts +5 -5
  20. package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.d.ts +1 -1
  21. package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.d.ts +2 -2
  22. package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.d.ts +1 -1
  23. package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.d.ts +5 -5
  24. package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.d.ts +1 -1
  25. package/lib/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.d.ts +2 -2
  26. package/lib/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.stories.d.ts +1 -1
  27. package/lib/components/forms/form/Form.d.ts +1 -1
  28. package/lib/components/forms/form/Form.stories.d.ts +1 -1
  29. package/lib/components/forms/input/Input.d.ts +2 -2
  30. package/lib/components/forms/input/Input.stories.d.ts +1 -1
  31. package/lib/components/forms/numberInput/NumberInput.d.ts +2 -2
  32. package/lib/components/forms/numberInput/NumberInput.stories.d.ts +1 -1
  33. package/lib/components/forms/passwordInput/PasswordInput.d.ts +1 -1
  34. package/lib/components/forms/passwordInput/PasswordInput.stories.d.ts +1 -1
  35. package/lib/components/forms/radio/Radio.stories.d.ts +1 -1
  36. package/lib/components/forms/select/Select.d.ts +2 -2
  37. package/lib/components/forms/select/Select.stories.d.ts +4 -4
  38. package/lib/components/forms/select/types.d.ts +2 -2
  39. package/lib/components/forms/subcomponents/Label.d.ts +2 -2
  40. package/lib/components/forms/textarea/Textarea.d.ts +1 -1
  41. package/lib/components/forms/textarea/Textarea.stories.d.ts +1 -1
  42. package/lib/components/forms/timePicker/TimePicker.d.ts +1 -1
  43. package/lib/components/forms/toggle/Toggle.stories.d.ts +1 -1
  44. package/lib/components/grid/col/Col.d.ts +1 -1
  45. package/lib/components/grid/col/Col.stories.d.ts +1 -1
  46. package/lib/components/grid/container/Container.d.ts +1 -1
  47. package/lib/components/grid/container/Container.stories.d.ts +1 -1
  48. package/lib/components/grid/row/Row.d.ts +1 -1
  49. package/lib/components/grid/row/Row.stories.d.ts +1 -1
  50. package/lib/components/icons/Icon.d.ts +1 -1
  51. package/lib/components/icons/Icon.stories.d.ts +2 -2
  52. package/lib/components/icons/indicons.d.ts +1 -1
  53. package/lib/components/icons/types.d.ts +4 -4
  54. package/lib/components/loading-indicators/BarSpinner/BarSpinner.stories.d.ts +1 -1
  55. package/lib/components/loading-indicators/CirclePulse/CirclePulse.stories.d.ts +1 -1
  56. package/lib/components/menu/Menu.stories.d.ts +2 -2
  57. package/lib/components/modal/ConfirmationModal.d.ts +1 -1
  58. package/lib/components/modal/Modal.d.ts +1 -1
  59. package/lib/components/modal/Modal.stories.d.ts +2 -2
  60. package/lib/components/modal/types.d.ts +2 -2
  61. package/lib/components/pagination/Pagination.d.ts +1 -1
  62. package/lib/components/pagination/Pagination.stories.d.ts +1 -1
  63. package/lib/components/pill/Pill.d.ts +1 -1
  64. package/lib/components/pill/Pill.stories.d.ts +1 -1
  65. package/lib/components/pill/types.d.ts +2 -2
  66. package/lib/components/skeleton/Skeleton.stories.d.ts +1 -1
  67. package/lib/components/stepper/Stepper.d.ts +1 -1
  68. package/lib/components/stepper/Stepper.stories.d.ts +1 -1
  69. package/lib/components/stepper/components/Legend.d.ts +1 -1
  70. package/lib/components/stepper/types.d.ts +1 -1
  71. package/lib/components/table/Table.d.ts +1 -1
  72. package/lib/components/table/Table.stories.d.ts +2 -2
  73. package/lib/components/table/components/HorizontalStickyHeader.d.ts +1 -1
  74. package/lib/components/table/components/helpers.d.ts +1 -1
  75. package/lib/components/table/hooks/usePinnedColumnsManager.d.ts +1 -1
  76. package/lib/components/table/sampleData.d.ts +1 -1
  77. package/lib/components/table/types.d.ts +2 -2
  78. package/lib/components/table/utils/processColumns.d.ts +1 -1
  79. package/lib/components/tanstackTable/TankstackTable.types.d.ts +1 -1
  80. package/lib/components/tanstackTable/TanstackTable.d.ts +1 -1
  81. package/lib/components/tanstackTable/TanstackTable.stories.d.ts +2 -2
  82. package/lib/components/tanstackTable/__tests__/__mocks__/test-mock-data.d.ts +1 -1
  83. package/lib/components/tanstackTable/components/ActionBar/ActionBar.d.ts +2 -2
  84. package/lib/components/tanstackTable/components/ActionBar/ActionBar.stories.d.ts +1 -1
  85. package/lib/components/tanstackTable/components/TableBody/TableBody.d.ts +1 -1
  86. package/lib/components/tanstackTable/components/TableHeader/TableHeader.d.ts +1 -1
  87. package/lib/components/tanstackTable/components/TableLoading/TableLoading.d.ts +1 -1
  88. package/lib/components/tanstackTable/components/TablePagination/TablePagination.d.ts +1 -1
  89. package/lib/components/tanstackTable/docs/internalSorting/InternalClientSideSorting.stories.d.ts +2 -2
  90. package/lib/components/tanstackTable/docs/pinnedColumns/PinnedColumn.stories.d.ts +2 -2
  91. package/lib/components/tanstackTable/docs/withRowClick/WithRowClick.stories.d.ts +2 -2
  92. package/lib/components/tanstackTable/helpers.d.ts +2 -2
  93. package/lib/components/tanstackTable/mock-data/table-configuration.d.ts +2 -2
  94. package/lib/components/tanstackTable/useTanstackTable.d.ts +1 -1
  95. package/lib/components/toast/Toast.stories.d.ts +1 -1
  96. package/lib/components/tooltip/Tooltip.d.ts +2 -2
  97. package/lib/components/tooltip/Tooltip.stories.d.ts +1 -1
  98. package/lib/components/truncate/Truncate.d.ts +1 -1
  99. package/lib/components/truncate/Truncate.stories.d.ts +2 -2
  100. package/lib/components/truncate/types.d.ts +1 -1
  101. package/lib/docs/BaseColorPalette/BaseColorsPalette.stories.d.ts +1 -1
  102. package/lib/docs/SemanticTokens/ColorSwatch.d.ts +1 -1
  103. package/lib/docs/SemanticTokens/SemanticTokens.stories.d.ts +1 -1
  104. package/lib/index.d.ts +45 -45
  105. package/lib/index.esm.js +137 -124
  106. package/lib/index.esm.js.map +1 -1
  107. package/lib/index.js +137 -124
  108. package/lib/index.js.map +1 -1
  109. package/lib/setup/setupIcons.d.ts +1 -1
  110. package/lib/storybook/formArgTypes.d.ts +1 -1
  111. package/lib/stylesAndAnimations/borders/BorderColor.stories.d.ts +1 -1
  112. package/lib/stylesAndAnimations/borders/BorderRadius.stories.d.ts +1 -1
  113. package/lib/stylesAndAnimations/borders/BorderStyles.stories.d.ts +1 -1
  114. package/lib/stylesAndAnimations/borders/BorderThickness.stories.d.ts +1 -1
  115. package/lib/stylesAndAnimations/colors/UtilityClasses.stories.d.ts +1 -1
  116. package/lib/stylesAndAnimations/sizing/Sizing.stories.d.ts +1 -1
  117. package/lib/stylesAndAnimations/typography/Typography.stories.d.ts +1 -1
  118. package/lib/stylesAndAnimations/utilityClasses/UtilityClassesTable.stories.d.ts +1 -1
  119. package/lib/types.d.ts +4 -4
  120. package/package.json +8 -2
  121. package/src/components/badge/Badge.stories.tsx +4 -3
  122. package/src/components/badge/Badge.tsx +2 -1
  123. package/src/components/badge/__tests__/Badge.test.tsx +1 -0
  124. package/src/components/button/Button.stories.tsx +5 -4
  125. package/src/components/button/Button.tsx +8 -4
  126. package/src/components/button/__tests__/Button.test.tsx +1 -0
  127. package/src/components/button/types.ts +1 -1
  128. package/src/components/card/Card.stories.tsx +2 -1
  129. package/src/components/card/Card.tsx +2 -1
  130. package/src/components/card/__tests__/Card.test.tsx +1 -0
  131. package/src/components/floatUI/FloatUI.stories.tsx +3 -2
  132. package/src/components/floatUI/FloatUI.tsx +6 -7
  133. package/src/components/floatUI/__tests__/FloatUI.test.tsx +5 -3
  134. package/src/components/floatUI/types.ts +2 -2
  135. package/src/components/forms/checkbox/Checkbox.stories.tsx +3 -2
  136. package/src/components/forms/checkbox/Checkbox.tsx +1 -1
  137. package/src/components/forms/checkbox/__tests__/Checkbox.test.tsx +2 -1
  138. package/src/components/forms/date/datePicker/DatePicker.stories.tsx +2 -1
  139. package/src/components/forms/date/datePicker/DatePicker.tsx +27 -24
  140. package/src/components/forms/date/datePicker/__tests__/DatePicker.test.tsx +1 -0
  141. package/src/components/forms/date/datePicker/contants.ts +1 -1
  142. package/src/components/forms/date/datePicker/types.ts +8 -8
  143. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.tsx +6 -2
  144. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.tsx +10 -8
  145. package/src/components/forms/date/iconTriggerDatePicker/__tests__/IconTriggerDatePicker.test.tsx +2 -1
  146. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.tsx +4 -2
  147. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.tsx +14 -10
  148. package/src/components/forms/date/inputDatePicker/__tests__/SingleInputDatePicker.test.tsx +2 -2
  149. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.tsx +5 -4
  150. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.tsx +16 -22
  151. package/src/components/forms/date/inputDateRangePicker/__tests__/InputDateRangePicker.test.tsx +2 -2
  152. package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.stories.tsx +9 -5
  153. package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.tsx +15 -11
  154. package/src/components/forms/form/Form.stories.tsx +7 -6
  155. package/src/components/forms/form/Form.tsx +1 -1
  156. package/src/components/forms/form/__tests__/Form.test.tsx +7 -4
  157. package/src/components/forms/input/Input.stories.tsx +6 -3
  158. package/src/components/forms/input/Input.tsx +3 -3
  159. package/src/components/forms/input/__tests__/Input.test.tsx +5 -3
  160. package/src/components/forms/numberInput/NumberInput.stories.tsx +5 -2
  161. package/src/components/forms/numberInput/NumberInput.tsx +5 -3
  162. package/src/components/forms/numberInput/__tests__/NumberInput.test.tsx +2 -1
  163. package/src/components/forms/passwordInput/PasswordInput.stories.tsx +6 -3
  164. package/src/components/forms/passwordInput/PasswordInput.tsx +5 -2
  165. package/src/components/forms/passwordInput/__tests__/PasswordInput.test.tsx +3 -4
  166. package/src/components/forms/radio/Radio.stories.tsx +5 -2
  167. package/src/components/forms/radio/__tests__/Radio.test.tsx +3 -2
  168. package/src/components/forms/select/Select.stories.tsx +5 -4
  169. package/src/components/forms/select/Select.tsx +7 -6
  170. package/src/components/forms/select/__tests__/Select.test.tsx +2 -2
  171. package/src/components/forms/select/types.ts +3 -2
  172. package/src/components/forms/subcomponents/Label.tsx +5 -2
  173. package/src/components/forms/subcomponents/__tests__/Label.test.tsx +1 -0
  174. package/src/components/forms/textarea/Textarea.stories.tsx +5 -2
  175. package/src/components/forms/textarea/Textarea.tsx +4 -4
  176. package/src/components/forms/textarea/__tests__/Textarea.test.tsx +3 -3
  177. package/src/components/forms/timePicker/TimePicker.stories.tsx +4 -2
  178. package/src/components/forms/timePicker/TimePicker.tsx +6 -5
  179. package/src/components/forms/timePicker/__tests__/TimePicker.test.tsx +2 -1
  180. package/src/components/forms/toggle/Toggle.stories.tsx +3 -2
  181. package/src/components/forms/toggle/__tests__/Toggle.test.tsx +3 -2
  182. package/src/components/grid/col/Col.stories.tsx +2 -1
  183. package/src/components/grid/col/Col.tsx +1 -1
  184. package/src/components/grid/container/Container.stories.tsx +2 -1
  185. package/src/components/grid/container/Container.tsx +1 -1
  186. package/src/components/grid/row/Row.stories.tsx +2 -1
  187. package/src/components/grid/row/Row.tsx +1 -1
  188. package/src/components/icons/Icon.stories.tsx +11 -4
  189. package/src/components/icons/Icon.tsx +4 -3
  190. package/src/components/icons/__tests__/Icon.test.tsx +1 -0
  191. package/src/components/icons/indicons.tsx +3 -3
  192. package/src/components/icons/types.ts +5 -4
  193. package/src/components/loading-indicators/BarSpinner/BarSpinner.stories.tsx +2 -1
  194. package/src/components/loading-indicators/BarSpinner/__tests__/BarSpinner.test.tsx +1 -0
  195. package/src/components/loading-indicators/CirclePulse/CirclePulse.stories.tsx +2 -1
  196. package/src/components/menu/Menu.stories.tsx +3 -2
  197. package/src/components/menu/Menu.test.tsx +1 -1
  198. package/src/components/menu/Menu.tsx +1 -1
  199. package/src/components/modal/ConfirmationModal.tsx +7 -5
  200. package/src/components/modal/Modal.stories.tsx +9 -6
  201. package/src/components/modal/Modal.tsx +2 -1
  202. package/src/components/modal/__tests__/Modal.test.tsx +1 -0
  203. package/src/components/modal/types.ts +2 -2
  204. package/src/components/pagination/Pagination.stories.tsx +3 -2
  205. package/src/components/pagination/Pagination.tsx +5 -4
  206. package/src/components/pagination/__tests__/Pagination.test.tsx +1 -0
  207. package/src/components/pill/Pill.stories.tsx +10 -6
  208. package/src/components/pill/Pill.tsx +2 -1
  209. package/src/components/pill/__tests__/Pill.test.tsx +4 -1
  210. package/src/components/pill/types.ts +4 -2
  211. package/src/components/skeleton/Skeleton.stories.tsx +2 -1
  212. package/src/components/skeleton/__tests__/Skeleton.test.tsx +1 -0
  213. package/src/components/stepper/Stepper.stories.tsx +9 -7
  214. package/src/components/stepper/Stepper.tsx +3 -2
  215. package/src/components/stepper/__tests__/Stepper.tests.tsx +5 -4
  216. package/src/components/stepper/components/Legend.tsx +4 -3
  217. package/src/components/stepper/examples/MixedExample.tsx +4 -3
  218. package/src/components/stepper/examples/OptionalStepsExample.tsx +4 -3
  219. package/src/components/stepper/examples/RequiredStepsExample.tsx +4 -3
  220. package/src/components/stepper/examples/commonExample/CommonExample.tsx +4 -3
  221. package/src/components/stepper/examples/commonExample/steps/StepOne.tsx +1 -0
  222. package/src/components/stepper/examples/commonExample/steps/StepThree.tsx +1 -0
  223. package/src/components/stepper/examples/commonExample/steps/StepTwo.tsx +1 -0
  224. package/src/components/stepper/types.ts +1 -1
  225. package/src/components/table/Table.stories.tsx +9 -5
  226. package/src/components/table/Table.tsx +5 -4
  227. package/src/components/table/__tests__/Table.test.tsx +2 -1
  228. package/src/components/table/components/HorizontalStickyHeader.tsx +3 -2
  229. package/src/components/table/components/TablePagination.tsx +1 -1
  230. package/src/components/table/components/__tests__/HorizontalStickyHeader.test.tsx +3 -3
  231. package/src/components/table/components/__tests__/TablePagination.test.tsx +1 -0
  232. package/src/components/table/components/helpers.ts +1 -1
  233. package/src/components/table/hooks/usePinnedColumnsManager.ts +6 -2
  234. package/src/components/table/sampleData.tsx +1 -3
  235. package/src/components/table/types.ts +5 -6
  236. package/src/components/table/utils/processColumns.tsx +2 -2
  237. package/src/components/tanstackTable/TankstackTable.types.ts +1 -1
  238. package/src/components/tanstackTable/TanstackTable.stories.tsx +6 -5
  239. package/src/components/tanstackTable/TanstackTable.tsx +8 -8
  240. package/src/components/tanstackTable/__tests__/TanstackTable.test.tsx +2 -1
  241. package/src/components/tanstackTable/__tests__/__mocks__/test-mock-data.tsx +2 -1
  242. package/src/components/tanstackTable/components/ActionBar/ActionBar.stories.tsx +6 -3
  243. package/src/components/tanstackTable/components/ActionBar/ActionBar.tsx +7 -3
  244. package/src/components/tanstackTable/components/ActionBar/__tests__/ActionBar.test.tsx +4 -1
  245. package/src/components/tanstackTable/components/NoResults/__tests__/NoResult.test.tsx +1 -0
  246. package/src/components/tanstackTable/components/TableBody/TableBody.tsx +2 -1
  247. package/src/components/tanstackTable/components/TableHeader/TableHeader.tsx +3 -2
  248. package/src/components/tanstackTable/components/TableLoading/TableLoading.tsx +2 -1
  249. package/src/components/tanstackTable/components/TablePagination/TablePagination.tsx +1 -1
  250. package/src/components/tanstackTable/components/TablePagination/__tests__/TablePagination.test.tsx +1 -0
  251. package/src/components/tanstackTable/docs/internalSorting/InternalClientSideSorting.stories.tsx +5 -5
  252. package/src/components/tanstackTable/docs/pinnedColumns/PinnedColumn.stories.tsx +5 -4
  253. package/src/components/tanstackTable/docs/withRowClick/WithRowClick.stories.tsx +5 -4
  254. package/src/components/tanstackTable/helpers.ts +2 -2
  255. package/src/components/tanstackTable/mock-data/table-configuration.tsx +7 -4
  256. package/src/components/tanstackTable/useTanstackTable.tsx +1 -2
  257. package/src/components/toast/Toast.stories.tsx +2 -1
  258. package/src/components/tooltip/Tooltip.stories.tsx +3 -2
  259. package/src/components/tooltip/Tooltip.tsx +2 -2
  260. package/src/components/truncate/Truncate.stories.tsx +3 -2
  261. package/src/components/truncate/Truncate.tsx +5 -4
  262. package/src/components/truncate/__tests__/Truncate.test.tsx +1 -0
  263. package/src/components/truncate/types.ts +1 -1
  264. package/src/docs/BaseColorPalette/BaseColorPalette.tsx +1 -0
  265. package/src/docs/BaseColorPalette/BaseColorsPalette.stories.tsx +2 -1
  266. package/src/docs/BaseColorPalette/Swatch.tsx +2 -1
  267. package/src/docs/SemanticTokens/ColorSwatch.tsx +1 -1
  268. package/src/docs/SemanticTokens/SemanticTokens.stories.tsx +2 -2
  269. package/src/setup/setupIcons.ts +2 -2
  270. package/src/storybook/formArgTypes.ts +2 -1
  271. package/src/storybook/iconNames.ts +1 -0
  272. package/src/stylesAndAnimations/borders/BorderColor.stories.tsx +2 -1
  273. package/src/stylesAndAnimations/borders/BorderColor.tsx +0 -1
  274. package/src/stylesAndAnimations/borders/BorderRadius.stories.tsx +2 -1
  275. package/src/stylesAndAnimations/borders/BorderRadius.tsx +0 -1
  276. package/src/stylesAndAnimations/borders/BorderStyles.stories.tsx +2 -1
  277. package/src/stylesAndAnimations/borders/BorderStyles.tsx +0 -1
  278. package/src/stylesAndAnimations/borders/BorderThickness.stories.tsx +2 -1
  279. package/src/stylesAndAnimations/borders/BorderThickness.tsx +0 -1
  280. package/src/stylesAndAnimations/colors/UtilityClasses.stories.tsx +2 -1
  281. package/src/stylesAndAnimations/colors/UtilityClasses.tsx +1 -2
  282. package/src/stylesAndAnimations/sizing/Sizing.stories.tsx +2 -1
  283. package/src/stylesAndAnimations/sizing/Sizing.tsx +0 -1
  284. package/src/stylesAndAnimations/typography/Typography.stories.tsx +2 -1
  285. package/src/stylesAndAnimations/typography/Typography.tsx +0 -1
  286. package/src/stylesAndAnimations/utilityClasses/UtilityClassesTable.stories.tsx +2 -1
  287. package/src/stylesAndAnimations/utilityClasses/UtilityClassesTable.tsx +6 -3
  288. package/src/types.ts +12 -6
@@ -1,16 +1,16 @@
1
- import { useId, useState, useEffect } from 'react';
1
+ import { type UseFloatingOptions } from '@floating-ui/react-dom';
2
2
  import { isValid, parse } from 'date-fns';
3
- import { DatePicker } from '../datePicker/DatePicker';
4
- import { Input } from '../../input';
5
- import { IconName } from '../../../icons/types';
6
- import { DateRange } from 'react-day-picker';
3
+ import { useId, useState, useEffect } from 'react';
4
+ import { type DateRange } from 'react-day-picker';
5
+
6
+ import { type InputDateRangePickerText } from './types';
7
7
  import { FloatUI } from '../../../floatUI';
8
8
  import { Col, Row } from '../../../grid';
9
+ import { type IconName } from '../../../icons/types';
10
+ import { Input } from '../../input';
11
+ import { DatePicker } from '../datePicker/DatePicker';
12
+ import { type PortalOptions } from '../datePicker/types';
9
13
  import { formatDateAsString } from '../inputDatePicker/helpers';
10
- import { Button } from '../../../button';
11
- import { UseFloatingOptions } from '@floating-ui/react-dom';
12
- import { PortalOptions } from '../datePicker/types';
13
- import { InputDateRangePickerText } from './types';
14
14
 
15
15
  const DEFAULT_TEXT: Required<InputDateRangePickerText> = {
16
16
  fromDate: 'From Date',
@@ -65,13 +65,15 @@ interface InputDateRangePickerProps {
65
65
  export function InputDateRangePicker(props: InputDateRangePickerProps) {
66
66
  const {
67
67
  ariaLabel,
68
- className,
69
68
  isDisabled,
70
- disableBeforeDate,
71
- disableAfterDate,
72
69
  captionLayout,
73
- month,
74
- id,
70
+ // Destructure unused props to prevent leaking into ...rest
71
+ className: _className,
72
+ disableBeforeDate: _disableBeforeDate,
73
+ disableAfterDate: _disableAfterDate,
74
+ month: _month,
75
+ id: _id,
76
+ isPortal: _isPortal,
75
77
  onSelect,
76
78
  selected,
77
79
  isOpen,
@@ -93,7 +95,6 @@ export function InputDateRangePicker(props: InputDateRangePickerProps) {
93
95
  fromTabIndex,
94
96
  portalOptions,
95
97
  floatingOptions,
96
- isPortal,
97
98
  text: textProp,
98
99
  ...rest
99
100
  } = props;
@@ -169,13 +170,6 @@ export function InputDateRangePicker(props: InputDateRangePickerProps) {
169
170
  }
170
171
  }, [isOpen, clearOnClose]);
171
172
 
172
- // Handle set date button click
173
- const handleSetDate = () => {
174
- if (setIsOpen) {
175
- setIsOpen(false);
176
- }
177
- };
178
-
179
173
  return (
180
174
  <FloatUI
181
175
  isOpen={isOpen}
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
1
  import { render, screen, waitFor, within } from '@testing-library/react';
3
2
  import userEvent from '@testing-library/user-event';
4
- import { InputDateRangePicker } from '../InputDateRangePicker';
5
3
  import { format } from 'date-fns';
6
4
 
5
+ import { InputDateRangePicker } from '../InputDateRangePicker';
6
+
7
7
  const mockOnSelect = jest.fn();
8
8
 
9
9
  describe('InputDateRangePicker', () => {
@@ -1,12 +1,16 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import {
3
- SingleInputDateTimePicker,
4
- SingleInputDateTimePickerProps,
5
- } from './SingleInputDateTimePicker';
6
1
  import { useArgs } from '@storybook/preview-api';
2
+
7
3
  import { indiconDefinitions } from '@/components/icons/indicons';
8
4
  import { registerFontAwesomeIcons } from '@/setup/setupIcons';
9
5
 
6
+ import {
7
+ SingleInputDateTimePicker,
8
+ type SingleInputDateTimePickerProps,
9
+ } from './SingleInputDateTimePicker';
10
+
11
+ import type { Meta, StoryObj } from '@storybook/react';
12
+
13
+
10
14
  registerFontAwesomeIcons(...indiconDefinitions);
11
15
 
12
16
  const meta: Meta<typeof SingleInputDateTimePicker> = {
@@ -1,14 +1,17 @@
1
- import { useId, useState, useEffect } from 'react';
1
+ import { type UseFloatingOptions } from '@floating-ui/react-dom';
2
2
  import { isValid, parse } from 'date-fns';
3
- import { DatePicker } from '../datePicker/DatePicker';
4
- import { Input } from '../../input';
5
- import type { IconName } from '../../../icons/types';
6
- import { FloatUI } from '../../../floatUI';
3
+ import { useId, useState, useEffect } from 'react';
4
+
7
5
  import { formatDateAsString } from './helpers';
8
- import { TimePicker } from '../../timePicker/TimePicker';
6
+ import { FloatUI } from '../../../floatUI';
9
7
  import { Row, Col } from '../../../grid';
10
- import { UseFloatingOptions } from '@floating-ui/react-dom';
11
- import { PortalOptions } from '../datePicker/types';
8
+ import { Input } from '../../input';
9
+ import { TimePicker } from '../../timePicker/TimePicker';
10
+ import { DatePicker } from '../datePicker/DatePicker';
11
+ import { type PortalOptions } from '../datePicker/types';
12
+
13
+ import type { IconName } from '../../../icons/types';
14
+
12
15
 
13
16
  export interface SingleInputDateTimePickerProps {
14
17
  /** A label for assistive technologies. */
@@ -55,10 +58,7 @@ export interface SingleInputDateTimePickerProps {
55
58
  export function SingleInputDateTimePicker(props: SingleInputDateTimePickerProps) {
56
59
  const {
57
60
  ariaLabel,
58
- className,
59
61
  isDisabled,
60
- disableBeforeDate,
61
- disableAfterDate,
62
62
  captionLayout,
63
63
  initialMonth,
64
64
  id,
@@ -82,6 +82,10 @@ export function SingleInputDateTimePicker(props: SingleInputDateTimePickerProps)
82
82
  portalOptions,
83
83
  floatingOptions,
84
84
  isPortal,
85
+ // Destructure unused props to prevent leaking into ...rest
86
+ className: _className,
87
+ disableBeforeDate: _disableBeforeDate,
88
+ disableAfterDate: _disableAfterDate,
85
89
  ...rest
86
90
  } = props;
87
91
 
@@ -1,15 +1,16 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Form } from './Form';
3
- import { Input } from '../input/Input';
4
- import { useForm, Controller, SubmitHandler } from 'react-hook-form';
5
1
  import { zodResolver } from '@hookform/resolvers/zod';
2
+ import { type Meta, type StoryObj } from '@storybook/react';
3
+ import { useForm, Controller, type SubmitHandler } from 'react-hook-form';
6
4
  import * as z from 'zod';
5
+
6
+ import { Form } from './Form';
7
7
  import { Button } from '../../button/Button';
8
- import { PasswordInput } from '../passwordInput';
9
- import { Textarea } from '../textarea';
10
8
  import { Col, Row, Container } from '../../grid';
11
9
  import { Checkbox } from '../checkbox';
10
+ import { Input } from '../input/Input';
11
+ import { PasswordInput } from '../passwordInput';
12
12
  import { Radio } from '../radio';
13
+ import { Textarea } from '../textarea';
13
14
  import { Toggle } from '../toggle';
14
15
 
15
16
  const meta: Meta = {
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
 
3
3
  export interface FormProps {
4
4
  children: React.ReactNode;
@@ -1,9 +1,12 @@
1
1
  import { render, screen } from '@testing-library/react';
2
- import { Form } from '@/components/forms/form/Form';
3
2
  import userEvent from '@testing-library/user-event';
4
- import { Input } from '../../input';
5
- import { ChangeEvent } from 'react';
3
+ import { type ChangeEvent } from 'react';
4
+
5
+ import { Form } from '@/components/forms/form/Form';
6
+
6
7
  import { Button } from '../../../button';
8
+ import { Input } from '../../input';
9
+
7
10
 
8
11
  const onSubmit = jest.fn();
9
12
 
@@ -17,7 +20,7 @@ describe('form', () => {
17
20
  isRequired
18
21
  name="first name"
19
22
  value="first name"
20
- onChange={function (e: ChangeEvent<HTMLInputElement>): void {
23
+ onChange={function (_e: ChangeEvent<HTMLInputElement>): void {
21
24
  throw new Error('Function not implemented.');
22
25
  }}
23
26
  />
@@ -1,8 +1,11 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Input, InputProps } from './Input';
3
- import { SetStateAction, useEffect, useState } from 'react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type SetStateAction, useEffect, useState } from 'react';
3
+
4
4
  import { inputArgTypes, labelArgTypes } from '@/storybook/formArgTypes';
5
5
 
6
+ import { Input, type InputProps } from './Input';
7
+
8
+
6
9
  const meta: Meta = {
7
10
  title: 'Forms/Input',
8
11
  component: Input,
@@ -1,10 +1,10 @@
1
- import React from 'react';
2
1
  import classNames from 'classnames';
2
+ import React from 'react';
3
3
 
4
4
  import { Icon } from '../../../components/icons/Icon';
5
- import { IconName } from '../../../components/icons/types';
6
- import { withLabel, LabelProps } from '../subcomponents/Label';
5
+ import { type IconName } from '../../../components/icons/types';
7
6
  import { DisplayFormError } from '../subcomponents/DisplayFormError';
7
+ import { withLabel, type LabelProps } from '../subcomponents/Label';
8
8
 
9
9
  export interface BaseInputProps {
10
10
  id?: string;
@@ -1,7 +1,9 @@
1
- import { render, screen, act } from '@testing-library/react';
2
- import { Input } from '@/components/forms/input/Input';
3
- import { ChangeEvent } from 'react';
1
+ import { render, screen } from '@testing-library/react';
4
2
  import userEvent from '@testing-library/user-event';
3
+ import { type ChangeEvent } from 'react';
4
+
5
+ import { Input } from '@/components/forms/input/Input';
6
+
5
7
 
6
8
  const handleOnChange = jest.fn();
7
9
 
@@ -1,8 +1,11 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { NumberInput, NumberInputProps } from './NumberInput';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
3
2
  import { useEffect, useState } from 'react';
3
+
4
4
  import { labelArgTypes, inputArgTypes } from '@/storybook/formArgTypes';
5
5
 
6
+ import { NumberInput, type NumberInputProps } from './NumberInput';
7
+
8
+
6
9
  const meta: Meta = {
7
10
  title: 'Forms/Number Input',
8
11
  component: NumberInput,
@@ -1,10 +1,12 @@
1
- import React from 'react';
2
1
  import classNames from 'classnames';
2
+ import React from 'react';
3
3
 
4
4
  import { Icon } from '@/components/icons/Icon';
5
- import { LabelProps, withLabel } from '../subcomponents/Label';
5
+
6
+ import { type BaseInputProps } from '../input/Input';
6
7
  import { DisplayFormError } from '../subcomponents/DisplayFormError';
7
- import { BaseInputProps } from '../input/Input';
8
+ import { type LabelProps, withLabel } from '../subcomponents/Label';
9
+
8
10
 
9
11
  export interface NumberInputProps extends Omit<BaseInputProps, 'value'>, LabelProps {
10
12
  /** The value for the input field */
@@ -1,6 +1,7 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import userEvent from '@testing-library/user-event';
3
- import { NumberInput, NumberInputProps } from '../NumberInput';
3
+
4
+ import { NumberInput, type NumberInputProps } from '../NumberInput';
4
5
 
5
6
  const handleOnChange = jest.fn();
6
7
 
@@ -1,8 +1,11 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { PasswordInput, PasswordInputProps } from './PasswordInput';
3
- import { SetStateAction, useEffect, useState } from 'react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type SetStateAction, useEffect, useState } from 'react';
3
+
4
4
  import { baseInputArgTypes, labelArgTypes } from '@/storybook/formArgTypes';
5
5
 
6
+ import { PasswordInput, type PasswordInputProps } from './PasswordInput';
7
+
8
+
6
9
  const meta: Meta = {
7
10
  title: 'Forms/PasswordInput',
8
11
  component: PasswordInput,
@@ -1,8 +1,11 @@
1
+ import classNames from 'classnames';
1
2
  import React, { useState } from 'react';
3
+
2
4
  import { Icon } from '@/components/icons/Icon';
3
- import { withLabel, LabelProps } from '../subcomponents/Label';
5
+
4
6
  import { DisplayFormError } from '../subcomponents/DisplayFormError';
5
- import classNames from 'classnames';
7
+ import { withLabel, type LabelProps } from '../subcomponents/Label';
8
+
6
9
 
7
10
  export interface PasswordInputProps extends LabelProps {
8
11
  ref?: React.LegacyRef<HTMLInputElement>;
@@ -1,10 +1,9 @@
1
- import { render, screen, act } from '@testing-library/react';
2
- import { PasswordInput } from '@/components/forms/passwordInput/PasswordInput';
3
- import { ChangeEvent } from 'react';
1
+ import { render, screen } from '@testing-library/react';
4
2
  import userEvent from '@testing-library/user-event';
5
3
 
4
+ import { PasswordInput } from '@/components/forms/passwordInput/PasswordInput';
5
+
6
6
  const handleOnChange = jest.fn();
7
- const handleShowPassword = jest.fn();
8
7
 
9
8
  describe('Input', () => {
10
9
  it('renders the input field', () => {
@@ -1,7 +1,10 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Radio } from './Radio';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
3
3
  import { Col, Row } from '@/components/grid';
4
4
 
5
+ import { Radio } from './Radio';
6
+
7
+
5
8
  const meta: Meta = {
6
9
  title: 'Forms/Radio',
7
10
  component: Radio,
@@ -1,7 +1,8 @@
1
- import { render, screen, act } from '@testing-library/react';
2
- import { Radio } from '@/components/forms/radio/Radio';
1
+ import { render, screen } from '@testing-library/react';
3
2
  import userEvent from '@testing-library/user-event';
4
3
 
4
+ import { Radio } from '@/components/forms/radio/Radio';
5
+
5
6
  const handleOnChange = jest.fn();
6
7
 
7
8
  describe('radio', () => {
@@ -1,7 +1,8 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Select, SelectProps } from './Select';
3
- import { SelectOption } from './types';
4
- import { LabelProps } from '../subcomponents/Label';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
3
+ import { Select, type SelectProps } from './Select';
4
+ import { type SelectOption } from './types';
5
+ import { type LabelProps } from '../subcomponents/Label';
5
6
 
6
7
  const meta: Meta<SelectProps<SelectOption> & LabelProps> = {
7
8
  title: 'Forms/Select',
@@ -1,7 +1,8 @@
1
- import React from 'react';
2
1
  import classNames from 'classnames';
3
- import ReactSelect, { Props as ReactSelectProps, components, OptionProps } from 'react-select';
4
- import { SelectOption, SelectText } from './types';
2
+ import React from 'react';
3
+ import ReactSelect, { type Props as ReactSelectProps, components, type OptionProps } from 'react-select';
4
+
5
+ import { type SelectOption, type SelectText } from './types';
5
6
  import { withLabel } from '../subcomponents/Label';
6
7
 
7
8
  const DEFAULT_TEXT: Required<SelectText> = {
@@ -49,9 +50,9 @@ const Select = React.forwardRef(
49
50
  classNamePrefix = 'select',
50
51
  className,
51
52
  components: customComponents,
52
- label,
53
- hasHiddenLabel,
54
- name,
53
+ label: _label,
54
+ hasHiddenLabel: _hasHiddenLabel,
55
+ name: _name,
55
56
  text: textProp,
56
57
  ...props
57
58
  }: SelectProps<OptionType>,
@@ -1,8 +1,8 @@
1
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+ import { type OptionProps } from 'react-select';
2
3
 
3
4
  import { Select } from '../Select';
4
- import { SelectOption } from '../types';
5
- import { OptionProps, components } from 'react-select';
5
+ import { type SelectOption } from '../types';
6
6
 
7
7
  const options: SelectOption[] = [
8
8
  { value: 'option1', label: 'Option 1' },
@@ -1,5 +1,6 @@
1
- import { ReactNode } from 'react';
2
- import { FormLabelText } from '../subcomponents/Label';
1
+ import { type ReactNode } from 'react';
2
+
3
+ import { type FormLabelText } from '../subcomponents/Label';
3
4
 
4
5
  export type SelectOption = {
5
6
  label: string;
@@ -1,5 +1,8 @@
1
- import React, { forwardRef } from 'react';
2
- import { FormLabelText } from './types';
1
+ import { forwardRef } from 'react';
2
+
3
+ import { type FormLabelText } from './types';
4
+
5
+ import type React from 'react';
3
6
 
4
7
  export type { FormLabelText } from './types';
5
8
 
@@ -1,4 +1,5 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { Label, withLabel } from '@/components/forms/subcomponents/Label';
3
4
 
4
5
  // Mock component to wrap with HOC
@@ -1,8 +1,11 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react';
1
2
  import { useEffect, useState } from 'react';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { labelArgTypes, inputArgTypes, baseInputArgTypes } from '@/storybook/formArgTypes';
3
+
4
+ import { labelArgTypes, baseInputArgTypes } from '@/storybook/formArgTypes';
5
+
4
6
  import { Textarea } from './Textarea';
5
7
 
8
+
6
9
  const meta: Meta = {
7
10
  title: 'Forms/Textarea',
8
11
  component: Textarea,
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
1
  import classNames from 'classnames';
2
+ import React from 'react';
3
3
 
4
- import { withLabel, LabelProps } from '../subcomponents/Label';
5
4
  import { DisplayFormError } from '../subcomponents/DisplayFormError';
5
+ import { withLabel, type LabelProps } from '../subcomponents/Label';
6
6
 
7
7
  export interface TextareaProps extends LabelProps {
8
8
  ref?: React.LegacyRef<HTMLTextAreaElement>;
@@ -33,7 +33,7 @@ export interface TextareaProps extends LabelProps {
33
33
  const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
34
34
  (
35
35
  {
36
- label,
36
+ label: _label,
37
37
  name,
38
38
  placeholder,
39
39
  value,
@@ -43,7 +43,7 @@ const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
43
43
  isDisabled,
44
44
  errorMessage,
45
45
  helpText,
46
- hasHiddenLabel,
46
+ hasHiddenLabel: _hasHiddenLabel,
47
47
  rows,
48
48
  cols,
49
49
  readonly,
@@ -1,8 +1,8 @@
1
- import { render, screen, act } from '@testing-library/react';
2
- import { Textarea } from '@/components/forms/textarea/Textarea';
3
- import { ChangeEvent } from 'react';
1
+ import { render, screen } from '@testing-library/react';
4
2
  import userEvent from '@testing-library/user-event';
5
3
 
4
+ import { Textarea } from '@/components/forms/textarea/Textarea';
5
+
6
6
  const handleOnChange = jest.fn();
7
7
 
8
8
  describe('Textarea', () => {
@@ -1,8 +1,10 @@
1
- import { TimePicker } from './TimePicker';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
1
  import { useArgs } from '@storybook/preview-api';
2
+
3
+ import { TimePicker } from './TimePicker';
4
4
  import { Col, Row } from '../../grid';
5
5
 
6
+ import type { Meta, StoryObj } from '@storybook/react';
7
+
6
8
  const meta: Meta<typeof TimePicker> = {
7
9
  title: 'Forms/TimePicker',
8
10
  component: TimePicker,
@@ -1,9 +1,10 @@
1
- import { ChangeEvent, useState, FocusEvent } from 'react';
2
- import { Input } from '../input/Input';
3
- import { FloatUI } from '../../floatUI/FloatUI';
4
- import { formatTimeValue, validateInputValue } from './helpers';
5
1
  import { offset, flip, shift } from '@floating-ui/react';
6
- import { TimePickerText } from './types';
2
+ import { type ChangeEvent, useState, type FocusEvent } from 'react';
3
+
4
+ import { formatTimeValue, validateInputValue } from './helpers';
5
+ import { type TimePickerText } from './types';
6
+ import { FloatUI } from '../../floatUI/FloatUI';
7
+ import { Input } from '../input/Input';
7
8
 
8
9
  const DEFAULT_TEXT: Required<TimePickerText> = {
9
10
  validationError: 'Time validation error',
@@ -1,7 +1,8 @@
1
1
  import { render, screen } from '@testing-library/react';
2
- import { TimePicker } from '@/components/forms/timePicker/TimePicker';
3
2
  import userEvent from '@testing-library/user-event';
4
3
 
4
+ import { TimePicker } from '@/components/forms/timePicker/TimePicker';
5
+
5
6
  describe('TimePicker', () => {
6
7
  // TODO -- fix this when we decide on a validation strategy
7
8
 
@@ -1,7 +1,8 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Toggle } from './Toggle';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
3
2
  import { useState } from 'react';
4
3
 
4
+ import { Toggle } from './Toggle';
5
+
5
6
  const meta: Meta = {
6
7
  title: 'Forms/Toggle',
7
8
  component: Toggle,
@@ -1,7 +1,8 @@
1
- import { render, screen, act } from '@testing-library/react';
2
- import { Toggle } from '@/components/forms/toggle/Toggle';
1
+ import { render, screen } from '@testing-library/react';
3
2
  import userEvent from '@testing-library/user-event';
4
3
 
4
+ import { Toggle } from '@/components/forms/toggle/Toggle';
5
+
5
6
  const handleOnChange = jest.fn();
6
7
 
7
8
  describe('Toggle', () => {
@@ -1,5 +1,6 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
2
  import { Container, Row } from 'react-grid-system';
3
+
3
4
  import { Col } from '@/components';
4
5
 
5
6
  const meta: Meta = {
@@ -1,4 +1,4 @@
1
- import { Col as RgsCol, ColProps } from 'react-grid-system';
1
+ import { Col as RgsCol, type ColProps } from 'react-grid-system';
2
2
 
3
3
  export const Col = ({ ref: _ref, ...rest }: ColProps) => {
4
4
  return <RgsCol {...rest} />;
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Container, Row, Col } from '@/components';
3
4
 
4
5
  const meta: Meta = {
@@ -1,4 +1,4 @@
1
- import { Container as RgsContainer, ContainerProps } from 'react-grid-system';
1
+ import { Container as RgsContainer, type ContainerProps } from 'react-grid-system';
2
2
 
3
3
  export const Container = ({ ref: _ref, ...rest }: ContainerProps) => {
4
4
  return <RgsContainer {...rest} />;
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Row, Col, Container } from '@/components';
3
4
 
4
5
  const meta: Meta = {
@@ -1,4 +1,4 @@
1
- import { Row as RgsRow, RowProps } from 'react-grid-system';
1
+ import { Row as RgsRow, type RowProps } from 'react-grid-system';
2
2
 
3
3
  export const Row = ({ ref: _ref, ...rest }: RowProps) => {
4
4
  return <RgsRow {...rest} />;
@@ -1,11 +1,18 @@
1
- import React, { useState } from 'react';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { Icon, Row, Col, Button } from '@/components';
4
- import { IconName, IconProps, IconSizes } from './types';
5
1
  import { fas } from '@fortawesome/free-solid-svg-icons';
2
+ import { type Meta, type StoryObj } from '@storybook/react';
3
+ import { useState } from 'react';
4
+
5
+ import { Icon, Row, Col, Button } from '@/components';
6
6
  import { registerFontAwesomeIcons } from '@/index';
7
7
  import { fontAwesomeIconNames, iconNames, indiconIconNames } from '@/storybook/iconNames';
8
+
8
9
  import { indiconDefinitions } from './indicons';
10
+ import { type IconName, type IconProps, type IconSizes } from './types';
11
+
12
+ import type React from 'react';
13
+
14
+
15
+
9
16
 
10
17
  registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
11
18