@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,7 +1,8 @@
1
- import classNames from 'classnames';
1
+ import { type IconName as FAIconName, findIconDefinition } from '@fortawesome/fontawesome-svg-core';
2
2
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
- import { IconName as FAIconName, findIconDefinition } from '@fortawesome/fontawesome-svg-core';
4
- import { IconProps } from './types';
3
+ import classNames from 'classnames';
4
+
5
+ import { type IconProps } from './types';
5
6
 
6
7
  export const Icon = ({
7
8
  name,
@@ -1,5 +1,6 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import userEvent from '@testing-library/user-event';
3
+
3
4
  import { Icon } from '@/components/icons/Icon';
4
5
 
5
6
  describe('Icon Component', () => {
@@ -1,5 +1,5 @@
1
- import { ReactElement } from 'react';
2
- import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
1
+ import { type IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
+ import { type ReactElement } from 'react';
3
3
 
4
4
  const indicons = {
5
5
  'indico-o-white': (
@@ -821,7 +821,7 @@ function indiconToIconDef([name, customIcon]: [string, ReactElement]): IconDefin
821
821
  throw new Error(`Monotone indicon '${name}' must have a 'd' attribute.`);
822
822
 
823
823
  if (pathElements.length === 2) {
824
- let [primary, secondary] = pathElements;
824
+ const [primary, secondary] = pathElements;
825
825
 
826
826
  if (!primary.props.d || !secondary.props.d)
827
827
  throw new Error(`Duotone indicon '${name}' must have 'd' attributes on both paths.`);
@@ -1,7 +1,8 @@
1
- import { MouseEventHandler, CSSProperties } from 'react';
2
- import { PermafrostComponent } from '../../types';
3
- import { IconName as FAIconName, IconPrefix } from '@fortawesome/fontawesome-svg-core';
4
- import { indicons } from './indicons';
1
+ import { type IconName as FAIconName, type IconPrefix } from '@fortawesome/fontawesome-svg-core';
2
+ import { type MouseEventHandler, type CSSProperties } from 'react';
3
+
4
+ import { type indicons } from './indicons';
5
+ import { type PermafrostComponent } from '../../types';
5
6
 
6
7
  export type IconSizes = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
7
8
 
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BarSpinner } from './BarSpinner';
3
4
  import { Col, Container, Row } from '../../grid';
4
5
 
@@ -1,4 +1,5 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { BarSpinner } from '../BarSpinner';
3
4
 
4
5
  describe('BarSpinner Component', () => {
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { CirclePulse } from './CirclePulse';
3
4
  import { Col, Container, Row } from '../../grid';
4
5
 
@@ -1,5 +1,6 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Menu, MenuProps } from './Menu';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
3
+ import { Menu, type MenuProps } from './Menu';
3
4
  import { Button } from '../button';
4
5
 
5
6
  const meta: Meta<typeof Menu> = {
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+
3
3
  import { Menu } from './Menu';
4
4
  import { Button } from '../button';
5
5
 
@@ -1,5 +1,5 @@
1
- import React, { ReactElement } from 'react';
2
1
  import classNames from 'classnames';
2
+ import React, { type ReactElement } from 'react';
3
3
 
4
4
  export type MenuProps = {
5
5
  children: React.ReactNode;
@@ -1,12 +1,14 @@
1
+ import classNames from 'classnames';
2
+ import { useState } from 'react';
3
+
4
+ import { Modal } from './Modal';
5
+ import { type ConfirmationModalProps, type ConfirmationModalText } from './types';
1
6
  import { Button } from '../button/Button';
2
- import { ButtonVariants } from '../button/types';
7
+ import { type ButtonVariants } from '../button/types';
3
8
  import { Checkbox } from '../forms/checkbox/Checkbox';
4
9
  import { Col, Row } from '../grid';
5
10
  import { Icon } from '../icons/Icon';
6
- import { Modal } from './Modal';
7
- import { ConfirmationModalProps, ConfirmationModalText } from './types';
8
- import classNames from 'classnames';
9
- import { useState } from 'react';
11
+
10
12
 
11
13
  const DEFAULT_TEXT: Required<ConfirmationModalText> = {
12
14
  closeButton: 'Close',
@@ -1,12 +1,15 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Modal } from './Modal';
3
- import { Col, Container, Row } from '../grid';
1
+ import { fas } from '@fortawesome/free-solid-svg-icons';
2
+ import { type Meta, type StoryObj } from '@storybook/react';
4
3
  import { useState } from 'react';
5
- import { Button } from '../button';
6
- import { registerFontAwesomeIcons } from '@/setup/setupIcons';
4
+
7
5
  import { indiconDefinitions } from '@/components/icons/indicons';
8
- import { fas } from '@fortawesome/free-solid-svg-icons';
6
+ import { registerFontAwesomeIcons } from '@/setup/setupIcons';
7
+
9
8
  import { ConfirmationModal } from './ConfirmationModal';
9
+ import { Modal } from './Modal';
10
+ import { Button } from '../button';
11
+ import { Col, Container, Row } from '../grid';
12
+
10
13
 
11
14
  registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
12
15
 
@@ -1,8 +1,9 @@
1
1
  import classNames from 'classnames';
2
2
  import ReactModal from 'react-modal';
3
+
4
+ import { type ModalProps, type ModalText } from './types';
3
5
  import { Button } from '../button/Button';
4
6
  import { Col, Row } from '../grid';
5
- import { ModalProps, ModalText } from './types';
6
7
 
7
8
  const DEFAULT_TEXT: Required<ModalText> = {
8
9
  closeButton: 'Close',
@@ -1,4 +1,5 @@
1
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+
2
3
  import { Modal } from '../Modal';
3
4
 
4
5
  // Mock ReactModal's app element setting to avoid warnings
@@ -1,5 +1,5 @@
1
- import { ButtonVariants } from '../button/types';
2
- import { IconName } from '../icons/types';
1
+ import { type ButtonVariants } from '../button/types';
2
+ import { type IconName } from '../icons/types';
3
3
 
4
4
  /** Customizable text for Modal. */
5
5
  export interface ModalText {
@@ -1,7 +1,8 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { useEffect, useState } from 'react';
3
+
2
4
  import { Pagination } from './Pagination';
3
5
  import { Col, Container, Row } from '../grid';
4
- import { useEffect, useState } from 'react';
5
6
 
6
7
  const meta: Meta = {
7
8
  title: 'Layout/Pagination',
@@ -1,9 +1,10 @@
1
- import { useState, useEffect } from 'react';
2
1
  import classNames from 'classnames';
3
- import { PaginationProps, PaginationText } from './types';
4
- import { Container, Row, Col } from '../grid';
5
- import { Input } from '../forms/input';
2
+ import { useState, useEffect } from 'react';
3
+
4
+ import { type PaginationProps, type PaginationText } from './types';
6
5
  import { Button } from '../button';
6
+ import { Input } from '../forms/input';
7
+ import { Container, Row, Col } from '../grid';
7
8
 
8
9
  const DEFAULT_TEXT: Required<PaginationText> = {
9
10
  previousPage: 'Previous Page',
@@ -1,4 +1,5 @@
1
1
  import { fireEvent, render, screen } from '@testing-library/react';
2
+
2
3
  import { Pagination } from '../Pagination';
3
4
 
4
5
  describe('Pagination', () => {
@@ -1,8 +1,12 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Pill } from './Pill';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
3
2
  import { Container, Row, Col } from 'react-grid-system';
4
- import { ChromaticColor } from '@/types';
5
- import { PillShade } from './types';
3
+
4
+ import { type ChromaticColor } from '@/types';
5
+
6
+ import { Pill } from './Pill';
7
+ import { type PillShade } from './types';
8
+
9
+
6
10
 
7
11
  const CHROMATIC_COLORS: ChromaticColor[] = [
8
12
  'blue',
@@ -120,7 +124,7 @@ export const AllDefaultColors: Story = {
120
124
  <Container>
121
125
  <Row justify="start">
122
126
  {CHROMATIC_COLORS.map((color: ChromaticColor) => (
123
- <Col xs="content" className="mb-2">
127
+ <Col key={color} xs="content" className="mb-2">
124
128
  <Pill color={color} size="md">
125
129
  {color}
126
130
  </Pill>
@@ -139,7 +143,7 @@ export const AllShades: Story = {
139
143
  {CHROMATIC_COLORS.map((color: ChromaticColor) => (
140
144
  <Row key={color}>
141
145
  {SHADES.map((shade: PillShade) => (
142
- <Col width={100} className="mb-2">
146
+ <Col key={`${color}-${shade}`} width={100} className="mb-2">
143
147
  <Pill shade={shade} color={color} size="md">
144
148
  {color}-{shade}
145
149
  </Pill>
@@ -1,5 +1,6 @@
1
1
  import classNames from 'classnames';
2
- import { PillProps } from './types';
2
+
3
+ import { type PillProps } from './types';
3
4
 
4
5
  export const Pill = ({
5
6
  children,
@@ -1,6 +1,9 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { Pill } from '@/components/pill/Pill';
3
- import { PillColor, PillShade, PillSize } from '../types';
4
+
5
+ import { type PillColor, type PillShade, type PillSize } from '../types';
6
+
4
7
 
5
8
  const sizes = ['sm', 'md', 'lg'] as PillSize[];
6
9
  const colors = [
@@ -1,5 +1,7 @@
1
- import { ChromaticColor } from '../../types';
2
- import React from 'react';
1
+ import { type ChromaticColor } from '../../types';
2
+
3
+ import type React from 'react';
4
+
3
5
 
4
6
  export type PillSize = 'sm' | 'md' | 'lg';
5
7
  export type PillColor = ChromaticColor;
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Skeleton } from './Skeleton';
3
4
  import { Col, Container, Row } from '../grid';
4
5
 
@@ -1,4 +1,5 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { Skeleton } from '@/components/skeleton/Skeleton';
3
4
 
4
5
  describe('Skeleton', () => {
@@ -1,15 +1,17 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Stepper } from './Stepper';
1
+ import { fas } from '@fortawesome/free-solid-svg-icons';
2
+ import { type Meta, type StoryObj } from '@storybook/react';
3
+
3
4
  import { indiconDefinitions } from '@/components/icons/indicons';
4
5
  import { registerFontAwesomeIcons } from '@/setup/setupIcons';
5
- registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
6
6
 
7
- // Import all example components
7
+ import { CommonExample } from './examples/commonExample/CommonExample';
8
8
  import { MixedExample } from './examples/MixedExample';
9
- import { RequiredStepsExample } from './examples/RequiredStepsExample';
10
9
  import { OptionalStepsExample } from './examples/OptionalStepsExample';
11
- import { CommonExample } from './examples/commonExample/CommonExample';
12
- import { fas } from '@fortawesome/free-solid-svg-icons';
10
+ import { RequiredStepsExample } from './examples/RequiredStepsExample';
11
+ import { Stepper } from './Stepper';
12
+
13
+
14
+ registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
13
15
 
14
16
  const meta: Meta = {
15
17
  title: 'Components/Stepper',
@@ -1,8 +1,9 @@
1
1
  import { useState, Children } from 'react';
2
- import { Legend } from './components/Legend';
2
+
3
3
  import { BackNavigation } from './components/BackNavigation';
4
+ import { Legend } from './components/Legend';
4
5
  import { NextNavigation } from './components/NextNavigation';
5
- import { StepperProps, StepperText } from './types';
6
+ import { type StepperProps, type StepperText } from './types';
6
7
 
7
8
  const DEFAULT_TEXT: Required<StepperText> = {
8
9
  previousStep: 'Previous Step',
@@ -1,11 +1,12 @@
1
1
  import { render, screen } from '@testing-library/react';
2
- import { Stepper } from '../Stepper';
3
- import { StepOne } from '../examples/commonExample/steps/StepOne';
4
- import { StepTwo } from '../examples/commonExample/steps/StepTwo';
5
- import { StepThree } from '../examples/commonExample/steps/StepThree';
6
2
  import userEvent from '@testing-library/user-event';
7
3
  import React from 'react';
8
4
 
5
+ import { StepOne } from '../examples/commonExample/steps/StepOne';
6
+ import { StepThree } from '../examples/commonExample/steps/StepThree';
7
+ import { StepTwo } from '../examples/commonExample/steps/StepTwo';
8
+ import { Stepper } from '../Stepper';
9
+
9
10
  // NOTES ================================================
10
11
  // The core functionality of the stepper is mainly various callbacks. As a result, we are indirectly testing them through the testing conditions created in this file. For example, to check if a step is complete, we have a callback function that fires when that step is complete. You will need to test your own logic in your implementation as the conditions tested here are for the purposes of the stepper itself, not the handlers we created.
11
12
 
@@ -1,8 +1,9 @@
1
1
  import classNames from 'classnames';
2
- import { Icon } from '../../icons/Icon';
3
- import { Col, Row } from '../../grid/';
2
+
4
3
  import { Button } from '../../button';
5
- import { StepperLegendProps } from '../types';
4
+ import { Col, Row } from '../../grid/';
5
+ import { Icon } from '../../icons/Icon';
6
+ import { type StepperLegendProps } from '../types';
6
7
 
7
8
  export const Legend = ({ currentStep, steps, onStepClick }: StepperLegendProps) => {
8
9
  const totalSteps = steps?.length || 0;
@@ -1,7 +1,8 @@
1
- import React, { useState } from 'react';
2
- import { Stepper } from '../Stepper';
3
- import { Button } from '../../button';
1
+ import { useState } from 'react';
2
+
4
3
  import { MIXED_EXAMPLE_STEPS, STEP_CONTENT_DATA, INFO_BOX_STYLE } from './constants';
4
+ import { Button } from '../../button';
5
+ import { Stepper } from '../Stepper';
5
6
 
6
7
  export const MixedExample = () => {
7
8
  // Value of the current step.
@@ -1,7 +1,8 @@
1
- import React, { useState } from 'react';
2
- import { Stepper } from '../Stepper';
3
- import { Button } from '../../button';
1
+ import { useState } from 'react';
2
+
4
3
  import { OPTIONAL_STEPS, INFO_BOX_STYLE, STATUS_INDICATOR_STYLE } from './constants';
4
+ import { Button } from '../../button';
5
+ import { Stepper } from '../Stepper';
5
6
 
6
7
  export const OptionalStepsExample = () => {
7
8
  const [currentStep, setCurrentStep] = useState(0);
@@ -1,7 +1,8 @@
1
- import React, { useState } from 'react';
2
- import { Stepper } from '../Stepper';
3
- import { Button } from '../../button';
1
+ import { useState } from 'react';
2
+
4
3
  import { REQUIRED_STEPS, INFO_BOX_STYLE, STATUS_INDICATOR_STYLE } from './constants';
4
+ import { Button } from '../../button';
5
+ import { Stepper } from '../Stepper';
5
6
 
6
7
  export const RequiredStepsExample = () => {
7
8
  const [currentStep, setCurrentStep] = useState(0);
@@ -1,8 +1,9 @@
1
- import React, { useState } from 'react';
2
- import { Stepper } from '../../Stepper';
1
+ import { useState } from 'react';
2
+
3
3
  import { StepOne } from './steps/StepOne';
4
- import { StepTwo } from './steps/StepTwo';
5
4
  import { StepThree } from './steps/StepThree';
5
+ import { StepTwo } from './steps/StepTwo';
6
+ import { Stepper } from '../../Stepper';
6
7
 
7
8
  export const CommonExample = () => {
8
9
  const exampleSteps = [
@@ -1,4 +1,5 @@
1
1
  import { useState } from 'react';
2
+
2
3
  import { Input } from '../../../..';
3
4
  import { Col, Row } from '../../../..';
4
5
 
@@ -1,4 +1,5 @@
1
1
  import { useState } from 'react';
2
+
2
3
  import { Input } from '../../../..';
3
4
  import { Col, Row } from '../../../..';
4
5
 
@@ -1,4 +1,5 @@
1
1
  import { useState } from 'react';
2
+
2
3
  import { Input } from '../../../..';
3
4
  import { Col, Row } from '../../../..';
4
5
 
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
 
3
3
  /** Customizable text for Stepper. */
4
4
  export interface StepperText {
@@ -1,10 +1,14 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Table } from './Table';
3
- import { columns, sampleData, SampleDataRow } from './sampleData';
4
- import { registerFontAwesomeIcons } from '@/setup/setupIcons';
5
- import { indiconDefinitions } from '@/components/icons/indicons';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
6
2
  import { useState } from 'react';
7
3
 
4
+ import { indiconDefinitions } from '@/components/icons/indicons';
5
+ import { registerFontAwesomeIcons } from '@/setup/setupIcons';
6
+
7
+ import { columns, sampleData, type SampleDataRow } from './sampleData';
8
+ import { Table } from './Table';
9
+
10
+
11
+
8
12
  registerFontAwesomeIcons(...Object.values(indiconDefinitions));
9
13
 
10
14
  const meta: Meta = {
@@ -1,12 +1,13 @@
1
1
  import classNames from 'classnames';
2
2
  import DataTable, {
3
- Direction as RDTDirection,
4
- Alignment as RDTAlignment,
3
+ type Direction as RDTDirection,
4
+ type Alignment as RDTAlignment,
5
5
  } from 'react-data-table-component';
6
- import { LoadingComponent } from './LoadingComponent';
7
- import { TableProps, TableText } from './types';
6
+
8
7
  import { TablePagination } from './components/TablePagination';
9
8
  import { usePinnedColumnsManager } from './hooks/usePinnedColumnsManager';
9
+ import { LoadingComponent } from './LoadingComponent';
10
+ import { type TableProps, type TableText } from './types';
10
11
 
11
12
  const DEFAULT_TEXT: Required<TableText> = {
12
13
  loading: 'Loading...',
@@ -1,6 +1,7 @@
1
1
  import { render, screen } from '@testing-library/react';
2
- import { Table } from '../Table';
2
+
3
3
  import { sampleData, columns } from '../sampleData';
4
+ import { Table } from '../Table';
4
5
 
5
6
  describe('Table', () => {
6
7
  it('renders the total entries text', () => {
@@ -1,11 +1,12 @@
1
1
  import { useEffect } from 'react';
2
- import { Button } from '../../button/Button';
2
+
3
3
  import {
4
4
  getPreviousHeadersWidth,
5
5
  applyStickyStylesToTableHeader,
6
6
  clearStickyStyles,
7
7
  } from './helpers';
8
- import { HorizontalStickyHeaderText } from '../types';
8
+ import { Button } from '../../button/Button';
9
+ import { type HorizontalStickyHeaderText } from '../types';
9
10
 
10
11
  const DEFAULT_TEXT: Required<HorizontalStickyHeaderText> = {
11
12
  unpinColumn: 'Unpin column',
@@ -1,5 +1,5 @@
1
- import { Pagination as PaginationComponent } from '../../pagination';
2
1
  import { Row, Col } from '../../grid';
2
+ import { Pagination as PaginationComponent } from '../../pagination';
3
3
  interface TablePaginationProps {
4
4
  rowsPerPage: number;
5
5
  rowCount: number;
@@ -1,9 +1,9 @@
1
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
- import HorizontalStickyHeader from '../HorizontalStickyHeader';
2
+
3
3
  import { sampleData } from '../../sampleData';
4
- import { Table } from '../../Table';
5
4
  import { columns } from '../../sampleData';
6
- import userEvent from '@testing-library/user-event';
5
+ import { Table } from '../../Table';
6
+ import HorizontalStickyHeader from '../HorizontalStickyHeader';
7
7
 
8
8
  // Add ResizeObserver mock before tests
9
9
  class ResizeObserverMock {
@@ -1,4 +1,5 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { TablePagination } from '../TablePagination';
3
4
 
4
5
  describe('TablePagination', () => {
@@ -1,4 +1,4 @@
1
- import { CSSObject } from 'styled-components';
1
+ import { type CSSObject } from 'styled-components';
2
2
 
3
3
  // Gets the width of the previous pinned columns
4
4
  export const getPreviousHeadersWidth = (position: number, pinnedColumnIds: string[]): number => {
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useCallback, useMemo } from 'react';
2
- import { TableColumn, HorizontalStickyHeaderText } from '../types';
2
+
3
3
  import { sortPinnedColumns, getPreviousHeadersWidth } from '../components/helpers';
4
+ import { type TableColumn, type HorizontalStickyHeaderText } from '../types';
4
5
  import { processColumns } from '../utils/processColumns';
5
6
 
6
7
  /**
@@ -138,7 +139,10 @@ export const usePinnedColumnsManager = <T>(
138
139
 
139
140
  // Process columns for rendering with pin state
140
141
  const columnsWithPinning = canPinColumns
141
- ? sortPinnedColumns(processColumns(columns, dataColumnIds, togglePinnedColumn, text), dataColumnIds)
142
+ ? sortPinnedColumns(
143
+ processColumns(columns, dataColumnIds, togglePinnedColumn, text),
144
+ dataColumnIds,
145
+ )
142
146
  : columns;
143
147
 
144
148
  return {
@@ -1,6 +1,4 @@
1
- import { TableColumn } from './types';
2
- import { useState } from 'react';
3
- import { Table } from './Table';
1
+ import { type TableColumn } from './types';
4
2
 
5
3
  export interface SampleDataRow {
6
4
  name: string;
@@ -1,11 +1,10 @@
1
1
  import {
2
- TableProps as RDTTableProps,
3
- Direction as RDTDirection,
4
- Alignment as RDTAlignment,
5
- TableColumn as RDTTableColumn,
6
- IDataTableProps,
2
+ type Direction as RDTDirection,
3
+ type Alignment as RDTAlignment,
4
+ type TableColumn as RDTTableColumn,
5
+ type IDataTableProps,
7
6
  } from 'react-data-table-component';
8
- import { CSSObject } from 'styled-components';
7
+ import { type CSSObject } from 'styled-components';
9
8
 
10
9
  export type Direction = `${RDTDirection}`;
11
10
  export type Alignment = `${RDTAlignment}`;
@@ -1,6 +1,6 @@
1
- import { TableColumn, HorizontalStickyHeaderText } from '../types';
2
- import HorizontalStickyHeader from '../components/HorizontalStickyHeader';
3
1
  import { getPinnedColumnStyles } from '../components/helpers';
2
+ import HorizontalStickyHeader from '../components/HorizontalStickyHeader';
3
+ import { type TableColumn, type HorizontalStickyHeaderText } from '../types';
4
4
 
5
5
  export const processColumns = <T,>(
6
6
  columns: TableColumn<T>[],
@@ -1,4 +1,4 @@
1
- import { Row, ColumnDef, SortingState } from '@tanstack/react-table';
1
+ import { type Row, type ColumnDef, type SortingState } from '@tanstack/react-table';
2
2
 
3
3
  /** Customizable text for TanstackTable. */
4
4
  export interface TanstackTableText {