@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,11 +1,12 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type ColumnDef } from '@tanstack/react-table';
3
+ import { useState } from 'react';
2
4
 
3
- import { TanstackTable } from './TanstackTable';
4
- import { people, Person } from './mock-data/mock-data';
5
+ import { people, type Person } from './mock-data/mock-data';
5
6
  import { columns } from './mock-data/table-configuration';
6
- import { ColumnDef, Row } from '@tanstack/react-table';
7
+ import { TanstackTable } from './TanstackTable';
7
8
  import { Button } from '../button';
8
- import { useState } from 'react';
9
+
9
10
  const meta: Meta = {
10
11
  title: 'Layout/Tanstack Table',
11
12
  component: TanstackTable,
@@ -1,22 +1,22 @@
1
- import { useEffect, useRef, useState } from 'react';
2
-
3
1
  import {
4
2
  useReactTable,
5
3
  getCoreRowModel,
6
4
  getSortedRowModel,
7
- SortingState,
5
+ type SortingState,
8
6
  } from '@tanstack/react-table';
9
7
  import classNames from 'classnames';
8
+ import { isNil } from 'lodash';
9
+ import { useEffect, useRef, useState } from 'react';
10
+
10
11
 
11
12
  import { ActionBar } from './components/ActionBar';
12
13
  import { NoResults } from './components/NoResults';
13
- import { isNil } from 'lodash';
14
- import { TablePagination } from './components/TablePagination';
15
- import { Props, TanstackTableText } from './TankstackTable.types';
16
- import { useTanstackTable } from './useTanstackTable';
17
- import { TableHeader } from './components/TableHeader';
18
14
  import { TableBody } from './components/TableBody';
15
+ import { TableHeader } from './components/TableHeader';
19
16
  import { TableLoading } from './components/TableLoading/TableLoading';
17
+ import { TablePagination } from './components/TablePagination';
18
+ import { type Props, type TanstackTableText } from './TankstackTable.types';
19
+ import { useTanstackTable } from './useTanstackTable';
20
20
 
21
21
  const DEFAULT_TEXT: Required<TanstackTableText> = {
22
22
  loading: 'Table is loading...',
@@ -1,7 +1,8 @@
1
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+
2
3
  import '@testing-library/jest-dom';
3
- import { TanstackTable } from '../TanstackTable';
4
4
  import { data, columns } from './__mocks__/test-mock-data';
5
+ import { TanstackTable } from '../TanstackTable';
5
6
 
6
7
  describe('Tanstack Table Component', () => {
7
8
  test('renders the table with provided data', () => {
@@ -1,5 +1,6 @@
1
+ import { type ColumnDef } from "@tanstack/react-table";
2
+
1
3
  import { Checkbox } from "@/components/forms/checkbox";
2
- import { ColumnDef } from "@tanstack/react-table";
3
4
 
4
5
  export interface TestData {
5
6
  id: string;
@@ -1,8 +1,11 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { ActionBar } from './ActionBar';
3
- import { Table } from '@tanstack/react-table';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type Table } from '@tanstack/react-table';
3
+
4
4
  import { Button } from '@/components/button';
5
5
 
6
+ import { ActionBar } from './ActionBar';
7
+
8
+
6
9
  type DummyRow = {
7
10
  id: string;
8
11
  isSelected: boolean;
@@ -1,8 +1,12 @@
1
- import React from 'react';
2
- import { Row, Table } from '@tanstack/react-table';
3
- import { Card } from '@/components/card';
1
+ import { type Row, type Table } from '@tanstack/react-table';
4
2
  import classNames from 'classnames';
5
3
 
4
+ import { Card } from '@/components/card';
5
+
6
+ import type React from 'react';
7
+
8
+
9
+
6
10
  type Props<T extends object> = {
7
11
  /** Table instance. */
8
12
  table: Table<T & { id: string }>;
@@ -1,7 +1,10 @@
1
- import React from 'react';
2
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+
3
+
3
4
  import { ActionBar } from '../ActionBar';
5
+
4
6
  import type { Table } from '@tanstack/react-table';
7
+ import type React from 'react';
5
8
 
6
9
  type DummyRow = {
7
10
  getIsSelected: () => boolean;
@@ -1,4 +1,5 @@
1
1
  import { render, screen, fireEvent } from '@testing-library/react';
2
+
2
3
  import { NoResults } from '../NoResults';
3
4
 
4
5
  describe('NoResults Component', () => {
@@ -1,5 +1,6 @@
1
- import { flexRender, Table } from '@tanstack/react-table';
1
+ import { flexRender, type Table } from '@tanstack/react-table';
2
2
  import classNames from 'classnames';
3
+
3
4
  import { getTdStyles } from '../../helpers';
4
5
 
5
6
  export type Props<T> = {
@@ -1,6 +1,7 @@
1
- import { forwardRef } from 'react';
2
- import { Column, flexRender, Header, Table } from '@tanstack/react-table';
1
+ import { type Column, flexRender, type Header, type Table } from '@tanstack/react-table';
3
2
  import classNames from 'classnames';
3
+ import { forwardRef } from 'react';
4
+
4
5
  import { getThStyles } from '../../helpers';
5
6
 
6
7
  interface Props {
@@ -1,4 +1,5 @@
1
- import { ColumnDef } from '@tanstack/react-table';
1
+ import { type ColumnDef } from '@tanstack/react-table';
2
+
2
3
  import { CirclePulse } from '../../../loading-indicators/CirclePulse';
3
4
 
4
5
  export type Props<T> = {
@@ -1,5 +1,5 @@
1
- import { Pagination as PaginationComponent, PaginationText } from '../../../pagination';
2
1
  import { Row, Col } from '../../../grid';
2
+ import { Pagination as PaginationComponent, type PaginationText } from '../../../pagination';
3
3
 
4
4
  interface TablePaginationProps {
5
5
  rowsPerPage: number;
@@ -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,10 +1,10 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type ColumnDef } from '@tanstack/react-table';
2
3
 
3
- import { TanstackTable } from '../../TanstackTable';
4
- import { people, Person } from '../../mock-data/mock-data';
5
- import { columns } from '../../mock-data/table-configuration';
6
- import { ColumnDef } from '@tanstack/react-table';
7
4
  import { Button } from '../../../button';
5
+ import { people, type Person } from '../../mock-data/mock-data';
6
+ import { columns } from '../../mock-data/table-configuration';
7
+ import { TanstackTable } from '../../TanstackTable';
8
8
 
9
9
  const meta: Meta = {
10
10
  title: 'Layout/Tanstack Table/Internal Client Side Sorting',
@@ -1,9 +1,10 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type ColumnDef } from '@tanstack/react-table';
2
3
 
3
- import { TanstackTable } from '../../TanstackTable';
4
- import { people, Person } from '../../mock-data/mock-data';
4
+ import { people, type Person } from '../../mock-data/mock-data';
5
5
  import { columns } from '../../mock-data/table-configuration';
6
- import { ColumnDef } from '@tanstack/react-table';
6
+ import { TanstackTable } from '../../TanstackTable';
7
+
7
8
 
8
9
  const meta: Meta = {
9
10
  title: 'Layout/Tanstack Table/Pinned Columns',
@@ -1,9 +1,10 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+ import { type ColumnDef, type Row } from '@tanstack/react-table';
2
3
 
3
- import { TanstackTable } from '../../TanstackTable';
4
- import { people, Person } from '../../mock-data/mock-data';
4
+ import { people, type Person } from '../../mock-data/mock-data';
5
5
  import { columns } from '../../mock-data/table-configuration';
6
- import { ColumnDef, Row } from '@tanstack/react-table';
6
+ import { TanstackTable } from '../../TanstackTable';
7
+
7
8
 
8
9
  const meta: Meta = {
9
10
  title: 'Layout/Tanstack Table/With Row Click',
@@ -1,5 +1,5 @@
1
- import { Column } from '@tanstack/react-table';
2
- import { CSSProperties } from 'react';
1
+ import { type Column } from '@tanstack/react-table';
2
+ import { type CSSProperties } from 'react';
3
3
 
4
4
  // Sets style attributes for pinned columns
5
5
  const getCommonPinningStyles = <T>(column: Column<T>): CSSProperties => {
@@ -1,9 +1,12 @@
1
- import { ColumnDef } from '@tanstack/react-table';
2
- import { Person } from './mock-data';
3
- import { Checkbox } from '@/components/forms/checkbox/Checkbox';
4
- import { Button } from '@/components/button';
1
+ import { type ColumnDef } from '@tanstack/react-table';
5
2
  import styled from 'styled-components';
6
3
 
4
+
5
+ import { Button } from '@/components/button';
6
+ import { Checkbox } from '@/components/forms/checkbox/Checkbox';
7
+
8
+ import { type Person } from './mock-data';
9
+
7
10
  const PinHeaderColumns = ({
8
11
  content,
9
12
  onPinClick,
@@ -1,6 +1,5 @@
1
+ import { type ColumnDef } from '@tanstack/react-table';
1
2
  import { useState } from 'react';
2
-
3
- import { ColumnDef } from '@tanstack/react-table';
4
3
  import { useEffect, useMemo } from 'react';
5
4
 
6
5
  type Props<T> = {
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { toast, ToastContainer } from './index';
3
4
  import { Button } from '../button';
4
5
  import { Col, Row } from '../grid';
@@ -1,7 +1,8 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Tooltip } from './Tooltip';
3
- import { Col, Container, Row } from '../grid';
4
4
  import { Button } from '../button';
5
+ import { Col, Container, Row } from '../grid';
5
6
 
6
7
  const meta: Meta = {
7
8
  title: 'Utilities/Tooltip',
@@ -1,5 +1,5 @@
1
- import { CSSProperties } from 'react';
2
- import { PlacesType, Tooltip as ReactTooltip, PositionStrategy } from 'react-tooltip';
1
+ import { type CSSProperties } from 'react';
2
+ import { type PlacesType, Tooltip as ReactTooltip, type PositionStrategy } from 'react-tooltip';
3
3
 
4
4
  export interface TooltipProps {
5
5
  id: string;
@@ -1,6 +1,7 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Truncate } from './Truncate';
3
- import { TruncateProps } from './types';
4
+ import { type TruncateProps } from './types';
4
5
 
5
6
  const meta: Meta<typeof Truncate> = {
6
7
  title: 'Utilities/Truncate',
@@ -1,8 +1,9 @@
1
- import { useState, useEffect, CSSProperties, useMemo, useRef } from 'react';
2
- import { Tooltip } from '../tooltip';
3
- import { TruncateProps } from './types';
4
- import { v4 as uuidv4 } from 'uuid';
5
1
  import classNames from 'classnames';
2
+ import { useState, useEffect, type CSSProperties, useMemo, useRef } from 'react';
3
+ import { v4 as uuidv4 } from 'uuid';
4
+
5
+ import { type TruncateProps } from './types';
6
+ import { Tooltip } from '../tooltip';
6
7
 
7
8
  export const Truncate = ({
8
9
  numLines = 1,
@@ -1,4 +1,5 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+
2
3
  import { Truncate } from '../Truncate';
3
4
 
4
5
  // Mock uuid to return a predictable ID
@@ -1,4 +1,4 @@
1
- import { TooltipProps } from '../tooltip/Tooltip';
1
+ import { type TooltipProps } from '../tooltip/Tooltip';
2
2
 
3
3
  export interface TruncateProps {
4
4
  /** The number of lines to truncate the text to. If left blank, it will default to 1 line. */
@@ -1,4 +1,5 @@
1
1
  import { Container, Row, Col } from 'react-grid-system';
2
+
2
3
  import { Swatch } from './Swatch';
3
4
 
4
5
  const colorList = [
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BaseColorPalette } from './BaseColorPalette';
3
4
 
4
5
  const meta: Meta<typeof BaseColorPalette> = {
@@ -1,5 +1,6 @@
1
1
  import './swatches.scss';
2
2
  import { Row, Col } from 'react-grid-system';
3
+
3
4
  import { Icon } from '../../components';
4
5
 
5
6
  interface Props {
@@ -34,7 +35,7 @@ export const Swatch = ({ color, shade, colorValue }: Props) => {
34
35
  if (value.startsWith('rgba(')) {
35
36
  const match = value.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);
36
37
  if (match) {
37
- const [, r, g, b, a] = match;
38
+ const [, , , , a] = match;
38
39
  const opacity = Math.round(parseFloat(a) * 100);
39
40
  return `${opacity}%`;
40
41
  }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
 
3
3
  interface ColorSwatchProps {
4
4
  colorVar: string;
@@ -1,6 +1,6 @@
1
- import { Meta } from '@storybook/react';
1
+ import { type Meta } from '@storybook/react';
2
+
2
3
  import { ColorSwatch } from './ColorSwatch';
3
- import { Card } from '../../index';
4
4
 
5
5
  const TokenItem = ({ category, variant }: { category: string; variant: string }) => {
6
6
  const colorVar = `--pf-semantic-${category}-${variant}`;
@@ -1,5 +1,4 @@
1
- import { IconDefinition, library } from '@fortawesome/fontawesome-svg-core';
2
-
1
+ import { type IconDefinition, library } from '@fortawesome/fontawesome-svg-core';
3
2
  // TODO: Once legacy components are removed, remove associated icons
4
3
  import {
5
4
  faArrowDown,
@@ -26,6 +25,7 @@ import {
26
25
  faChevronLeft,
27
26
  faChevronRight,
28
27
  } from '@fortawesome/free-solid-svg-icons';
28
+
29
29
  import { indiconDefinitions } from '@/components/icons/indicons';
30
30
 
31
31
  // Utility for registering Font Awesome icons
@@ -1,5 +1,6 @@
1
1
  // Common argTypes for form components that include a label and input
2
- import { ArgTypes } from '@storybook/react';
2
+ import { type ArgTypes } from '@storybook/react';
3
+
3
4
  import { iconNames } from './iconNames';
4
5
 
5
6
  const labelArgTypes: ArgTypes = {
@@ -2,6 +2,7 @@
2
2
  // Avoid importing this file into the design system code to keep bundle size at a minimum.
3
3
 
4
4
  import { fas } from '@fortawesome/free-solid-svg-icons';
5
+
5
6
  import { indicons } from '../components/icons/indicons';
6
7
 
7
8
  export const fontAwesomeIconNames = [
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BorderColor } from './BorderColor';
3
4
 
4
5
  const meta: Meta<typeof BorderColor> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '../../styles/_borders.scss';
3
2
  import './borders.scss';
4
3
 
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BorderRadius } from './BorderRadius';
3
4
 
4
5
  const meta: Meta<typeof BorderRadius> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '../../styles/_borders.scss';
3
2
  import './borders.scss';
4
3
 
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BorderStyles } from './BorderStyles';
3
4
 
4
5
  const meta: Meta<typeof BorderStyles> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '../../styles/_borders.scss';
3
2
  import './borders.scss';
4
3
 
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { BorderThickness } from './BorderThickness';
3
4
 
4
5
  const meta: Meta<typeof BorderThickness> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '../../styles/_borders.scss';
3
2
  import './borders.scss';
4
3
 
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { UtilityClasses } from './UtilityClasses';
3
4
 
4
5
  const meta: Meta<typeof UtilityClasses> = {
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { Row } from '../../components/grid/row/Row';
3
1
  import { Col } from '../../components/grid/col/Col';
2
+ import { Row } from '../../components/grid/row/Row';
4
3
 
5
4
  export const UtilityClasses = () => {
6
5
  return (
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Sizing } from './Sizing';
3
4
 
4
5
  const meta: Meta<typeof Sizing> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '../../styles/_borders.scss';
3
2
  export const Sizing = () => {
4
3
  return (
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { Typography } from './Typography';
3
4
 
4
5
  const meta: Meta<typeof Typography> = {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { Container, Row, Col } from 'react-grid-system';
3
2
 
4
3
  export const Typography = () => {
@@ -1,4 +1,5 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { type Meta, type StoryObj } from '@storybook/react';
2
+
2
3
  import { UtilityClassesTable } from './UtilityClassesTable';
3
4
 
4
5
  const meta: Meta<typeof UtilityClassesTable> = {
@@ -1,7 +1,10 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import { useState, useEffect } from 'react';
2
+ import { type MultiValue, type SingleValue } from 'react-select';
3
+
2
4
  import { Table, Select, Input, Container, Row, Col } from '@/components';
3
- import { MultiValue, SingleValue, ActionMeta } from 'react-select';
4
- import { UtilityClassData, utilityClassesData } from './UtilityClassesData';
5
+
6
+ import { type UtilityClassData, utilityClassesData } from './UtilityClassesData';
7
+
5
8
 
6
9
  const categories = Array.from(new Set(utilityClassesData.map((item) => item.category)));
7
10
 
package/src/types.ts CHANGED
@@ -1,3 +1,13 @@
1
+ import { type SelectOption } from './components/forms/select/types';
2
+ import { type IconSizes, type IconName } from './components/icons/types';
3
+ import { type PillColor, type PillSize } from './components/pill/types';
4
+ import {
5
+ type TableProps,
6
+ type TableColumn,
7
+ type Direction,
8
+ type Alignment,
9
+ } from './components/table/types';
10
+
1
11
  export type PermafrostComponent = {
2
12
  id?: string;
3
13
  className?: string;
@@ -5,8 +15,8 @@ export type PermafrostComponent = {
5
15
  'data-testid'?: string;
6
16
  };
7
17
 
8
- import { IconSizes, IconName } from './components/icons/types';
9
18
  export type { IconSizes, IconName };
19
+
10
20
  export type ChromaticColor =
11
21
  | 'blue'
12
22
  | 'purple'
@@ -21,11 +31,7 @@ export type ChromaticColor =
21
31
  export type Color = ChromaticColor | 'black' | 'white';
22
32
 
23
33
  export type SemanticColor = 'neutral' | 'info' | 'warning' | 'error' | 'success' | 'pending';
24
- import { SelectOption } from './components/forms/select/types';
25
- export type { SelectOption };
26
34
 
27
- import { TableProps, TableColumn, Direction, Alignment } from './components/table/types';
35
+ export type { SelectOption };
28
36
  export type { TableProps, TableColumn, Direction, Alignment };
29
-
30
- import { PillColor, PillSize } from './components/pill/types';
31
37
  export type { PillColor, PillSize };