@decisiv/ui-components 2.0.0 → 2.0.1-alpha.100

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 (319) hide show
  1. package/lib/atoms/BaseButton/index.d.ts.map +1 -1
  2. package/lib/atoms/BaseButton/index.js +1 -1
  3. package/lib/atoms/BooleanInput/elements.d.ts.map +1 -1
  4. package/lib/atoms/BooleanInput/elements.js +8 -3
  5. package/lib/atoms/BooleanInput/index.d.ts.map +1 -1
  6. package/lib/atoms/BooleanInput/index.js +26 -5
  7. package/lib/atoms/BooleanInput/index.test.js +17 -6
  8. package/lib/atoms/BooleanInput/types.d.ts +4 -0
  9. package/lib/atoms/BooleanInput/types.d.ts.map +1 -1
  10. package/lib/atoms/BooleanInput/types.js +5 -1
  11. package/lib/atoms/Calendar/hooks/useCalendar/index.d.ts.map +1 -1
  12. package/lib/atoms/Calendar/hooks/useCalendar/index.js +2 -1
  13. package/lib/atoms/Calendar/hooks/useCalendar/index.test.js +5 -6
  14. package/lib/atoms/Calendar/index.d.ts.map +1 -1
  15. package/lib/atoms/Calendar/index.js +8 -1
  16. package/lib/atoms/Calendar/index.test.js +70 -40
  17. package/lib/atoms/Calendar/types.js +5 -1
  18. package/lib/atoms/InputField/Containers.d.ts +11 -6
  19. package/lib/atoms/InputField/Containers.d.ts.map +1 -1
  20. package/lib/atoms/InputField/Containers.js +6 -6
  21. package/lib/atoms/InputField/InputLabel.d.ts +1 -0
  22. package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
  23. package/lib/atoms/InputField/InputLabel.js +2 -1
  24. package/lib/atoms/InputField/index.d.ts +5 -0
  25. package/lib/atoms/InputField/index.d.ts.map +1 -1
  26. package/lib/atoms/InputField/index.js +21 -7
  27. package/lib/atoms/InputField/index.test.js +91 -0
  28. package/lib/atoms/InputField/schema.d.ts.map +1 -1
  29. package/lib/atoms/InputField/schema.js +1 -0
  30. package/lib/atoms/OptionsList/Category.d.ts +1 -1
  31. package/lib/atoms/OptionsList/Category.d.ts.map +1 -1
  32. package/lib/atoms/OptionsList/Category.js +4 -2
  33. package/lib/atoms/OptionsList/Footer.d.ts +8 -0
  34. package/lib/atoms/OptionsList/Footer.d.ts.map +1 -0
  35. package/lib/atoms/OptionsList/Footer.js +72 -0
  36. package/lib/atoms/OptionsList/Option.d.ts.map +1 -1
  37. package/lib/atoms/OptionsList/Option.js +8 -5
  38. package/lib/atoms/OptionsList/index.d.ts.map +1 -1
  39. package/lib/atoms/OptionsList/index.js +43 -16
  40. package/lib/atoms/OptionsList/index.test.js +107 -11
  41. package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
  42. package/lib/atoms/OptionsList/schema.js +4 -0
  43. package/lib/atoms/OptionsList/types.d.ts +14 -0
  44. package/lib/atoms/OptionsList/types.d.ts.map +1 -1
  45. package/lib/atoms/OptionsList/types.js +5 -1
  46. package/lib/atoms/RequiredIcon.d.ts +9 -0
  47. package/lib/atoms/RequiredIcon.d.ts.map +1 -0
  48. package/lib/atoms/{InputField/RequiredIcon.js → RequiredIcon.js} +7 -3
  49. package/lib/components/Accordion/types.js +5 -1
  50. package/lib/components/Accordion/useAccordion/types.js +5 -1
  51. package/lib/components/Alert/Container.d.ts +201 -0
  52. package/lib/components/Alert/Container.d.ts.map +1 -0
  53. package/lib/components/Alert/Container.js +26 -0
  54. package/lib/components/Alert/StyledButton.d.ts +5 -0
  55. package/lib/components/Alert/StyledButton.d.ts.map +1 -0
  56. package/lib/components/Alert/StyledButton.js +23 -0
  57. package/lib/components/Alert/index.d.ts +27 -0
  58. package/lib/components/Alert/index.d.ts.map +1 -0
  59. package/lib/components/Alert/index.js +112 -0
  60. package/lib/components/Alert/index.test.js +79 -0
  61. package/lib/components/Alert/intents.d.ts +13 -0
  62. package/lib/components/Alert/intents.d.ts.map +1 -0
  63. package/lib/components/Alert/intents.js +72 -0
  64. package/lib/components/Alert/schema.d.ts +3 -0
  65. package/lib/components/Alert/schema.d.ts.map +1 -0
  66. package/lib/components/Alert/schema.js +25 -0
  67. package/lib/components/Alert/types.d.ts +36 -0
  68. package/lib/components/Alert/types.d.ts.map +1 -0
  69. package/lib/components/Alert/types.js +32 -0
  70. package/lib/components/Avatar/types.js +5 -1
  71. package/lib/components/Badge/constants.d.ts +2 -0
  72. package/lib/components/Badge/constants.d.ts.map +1 -0
  73. package/lib/components/Badge/constants.js +29 -0
  74. package/lib/components/Badge/index.d.ts.map +1 -1
  75. package/lib/components/Badge/index.js +12 -23
  76. package/lib/components/Badge/index.test.js +51 -8
  77. package/lib/components/Badge/schema.js +1 -1
  78. package/lib/components/Badge/types.d.ts +1 -1
  79. package/lib/components/Badge/types.d.ts.map +1 -1
  80. package/lib/components/Badge/types.js +7 -3
  81. package/lib/components/Breadcrumbs/types.js +5 -1
  82. package/lib/components/Button/schema.d.ts +6 -1
  83. package/lib/components/Button/schema.d.ts.map +1 -1
  84. package/lib/components/Button/schema.js +9 -4
  85. package/lib/components/Button/types.js +5 -1
  86. package/lib/components/Checkbox/index.d.ts.map +1 -1
  87. package/lib/components/Checkbox/index.js +3 -1
  88. package/lib/components/Checkbox/schema.d.ts.map +1 -1
  89. package/lib/components/Checkbox/schema.js +2 -0
  90. package/lib/components/Combobox/Target.d.ts.map +1 -1
  91. package/lib/components/Combobox/Target.js +45 -14
  92. package/lib/components/Combobox/index.d.ts.map +1 -1
  93. package/lib/components/Combobox/index.js +193 -65
  94. package/lib/components/Combobox/index.test.js +358 -135
  95. package/lib/components/Combobox/schema.d.ts.map +1 -1
  96. package/lib/components/Combobox/schema.js +9 -2
  97. package/lib/components/Combobox/types.d.ts +12 -3
  98. package/lib/components/Combobox/types.d.ts.map +1 -1
  99. package/lib/components/Combobox/types.js +5 -1
  100. package/lib/components/DropdownList/index.d.ts +4 -0
  101. package/lib/components/DropdownList/index.d.ts.map +1 -1
  102. package/lib/components/DropdownList/index.js +76 -11
  103. package/lib/components/DropdownList/propTypes.d.ts +4 -0
  104. package/lib/components/DropdownList/propTypes.d.ts.map +1 -0
  105. package/lib/components/DropdownList/propTypes.js +42 -0
  106. package/lib/components/DropdownList/schema.d.ts.map +1 -1
  107. package/lib/components/DropdownList/schema.js +5 -0
  108. package/lib/components/DropdownList/types.d.ts +4 -1
  109. package/lib/components/DropdownList/types.d.ts.map +1 -1
  110. package/lib/components/Filter/IconWrapper/index.d.ts +197 -0
  111. package/lib/components/Filter/IconWrapper/index.d.ts.map +1 -0
  112. package/lib/components/Filter/IconWrapper/index.js +35 -0
  113. package/lib/components/Filter/SimplePrimary/index.d.ts +31 -0
  114. package/lib/components/Filter/SimplePrimary/index.d.ts.map +1 -0
  115. package/lib/components/Filter/SimplePrimary/index.js +58 -0
  116. package/lib/components/Filter/SimplePrimary/index.test.js +34 -0
  117. package/lib/components/Filter/StyledFilter.d.ts +4 -0
  118. package/lib/components/Filter/StyledFilter.d.ts.map +1 -0
  119. package/lib/components/Filter/StyledFilter.js +39 -0
  120. package/lib/components/Filter/StyledLabel/index.d.ts +8 -0
  121. package/lib/components/Filter/StyledLabel/index.d.ts.map +1 -0
  122. package/lib/components/Filter/StyledLabel/index.js +30 -0
  123. package/lib/components/Filter/index.d.ts +27 -0
  124. package/lib/components/Filter/index.d.ts.map +1 -0
  125. package/lib/components/Filter/index.js +95 -0
  126. package/lib/components/Filter/index.test.js +41 -0
  127. package/lib/components/Filter/kind.d.ts +6 -0
  128. package/lib/components/Filter/kind.d.ts.map +1 -0
  129. package/lib/components/Filter/kind.js +45 -0
  130. package/lib/components/Filter/schema.d.ts +9 -0
  131. package/lib/components/Filter/schema.d.ts.map +1 -0
  132. package/lib/components/Filter/schema.js +32 -0
  133. package/lib/components/Filter/types.d.ts +17 -0
  134. package/lib/components/Filter/types.d.ts.map +1 -0
  135. package/lib/components/Filter/types.js +5 -0
  136. package/lib/components/JumpTo/JumpToMenu.d.ts +2 -2
  137. package/lib/components/JumpTo/JumpToMenu.d.ts.map +1 -1
  138. package/lib/components/JumpTo/JumpToMenu.js +3 -3
  139. package/lib/components/JumpTo/types.js +5 -1
  140. package/lib/components/LeftNav/Item/ClickArea.d.ts.map +1 -1
  141. package/lib/components/LeftNav/Item/ClickArea.js +2 -2
  142. package/lib/components/LeftNav/Item/ItemWrapper.d.ts.map +1 -1
  143. package/lib/components/LeftNav/Item/ItemWrapper.js +3 -3
  144. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts +7 -0
  145. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts.map +1 -0
  146. package/lib/components/LeftNav/Item/MenuItemWrapper.js +20 -0
  147. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.d.ts.map +1 -1
  148. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.js +7 -5
  149. package/lib/components/LeftNav/Item/NavExpandedItem/index.d.ts.map +1 -1
  150. package/lib/components/LeftNav/Item/NavExpandedItem/index.js +24 -13
  151. package/lib/components/LeftNav/Item/types.d.ts +1 -1
  152. package/lib/components/LeftNav/Item/types.d.ts.map +1 -1
  153. package/lib/components/LeftNav/Item/types.js +5 -1
  154. package/lib/components/LeftNav/index.test.js +13 -3
  155. package/lib/components/LeftNav/schema.d.ts.map +1 -1
  156. package/lib/components/LeftNav/schema.js +2 -0
  157. package/lib/components/LeftNav/types.d.ts +1 -0
  158. package/lib/components/LeftNav/types.d.ts.map +1 -1
  159. package/lib/components/LeftNav/types.js +5 -1
  160. package/lib/components/Link/index.d.ts +2 -2
  161. package/lib/components/Link/index.d.ts.map +1 -1
  162. package/lib/components/Link/index.js +1 -1
  163. package/lib/components/Link/index.test.js +8 -0
  164. package/lib/components/Link/schema.d.ts.map +1 -1
  165. package/lib/components/Link/schema.js +1 -1
  166. package/lib/components/Menu/index.d.ts.map +1 -1
  167. package/lib/components/Menu/index.js +3 -1
  168. package/lib/components/Menu/types.d.ts +2 -0
  169. package/lib/components/Menu/types.d.ts.map +1 -1
  170. package/lib/components/Menu/types.js +5 -1
  171. package/lib/components/Modal/components.d.ts +2 -2
  172. package/lib/components/Modal/index.d.ts.map +1 -1
  173. package/lib/components/Modal/index.js +5 -5
  174. package/lib/components/Modal/index.test.js +32 -0
  175. package/lib/components/Modal/schema.d.ts.map +1 -1
  176. package/lib/components/Modal/schema.js +2 -2
  177. package/lib/components/Modal/types.d.ts +2 -2
  178. package/lib/components/Modal/types.d.ts.map +1 -1
  179. package/lib/components/Modal/types.js +5 -1
  180. package/lib/components/Notifications/Notification/components.d.ts +3 -3
  181. package/lib/components/Notifications/Notification/components.d.ts.map +1 -1
  182. package/lib/components/Notifications/Notification/components.js +12 -6
  183. package/lib/components/Notifications/Notification/index.d.ts +3 -6
  184. package/lib/components/Notifications/Notification/index.d.ts.map +1 -1
  185. package/lib/components/Notifications/Notification/index.js +19 -12
  186. package/lib/components/Notifications/Notification/index.test.js +38 -19
  187. package/lib/components/Notifications/NotificationsPanel/index.d.ts +2 -1
  188. package/lib/components/Notifications/NotificationsPanel/index.d.ts.map +1 -1
  189. package/lib/components/Notifications/NotificationsPanel/index.js +44 -21
  190. package/lib/components/Notifications/NotificationsPanel/schema.js +1 -1
  191. package/lib/components/Notifications/Notifier.test.js +79 -10
  192. package/lib/components/Notifications/constants.d.ts +2 -0
  193. package/lib/components/Notifications/constants.d.ts.map +1 -0
  194. package/lib/components/Notifications/constants.js +16 -0
  195. package/lib/components/Notifications/schema.d.ts.map +1 -1
  196. package/lib/components/Notifications/schema.js +2 -1
  197. package/lib/components/Notifications/useNotifications.d.ts +1 -0
  198. package/lib/components/Notifications/useNotifications.d.ts.map +1 -1
  199. package/lib/components/Notifications/useNotifications.js +3 -3
  200. package/lib/components/Notifications/useNotifications.test.js +7 -4
  201. package/lib/components/Pagination/Pagination.d.ts +1 -1
  202. package/lib/components/Pagination/Pagination.d.ts.map +1 -1
  203. package/lib/components/Pagination/Pagination.js +1 -0
  204. package/lib/components/Pagination/Pagination.test.js +9 -0
  205. package/lib/components/Pagination/types.js +5 -1
  206. package/lib/components/Select/Target.js +1 -1
  207. package/lib/components/Select/index.d.ts.map +1 -1
  208. package/lib/components/Select/index.js +37 -1
  209. package/lib/components/Select/index.test.js +82 -23
  210. package/lib/components/Select/schema.d.ts.map +1 -1
  211. package/lib/components/Select/schema.js +7 -0
  212. package/lib/components/Select/types.d.ts +4 -1
  213. package/lib/components/Select/types.d.ts.map +1 -1
  214. package/lib/components/Select/types.js +5 -1
  215. package/lib/components/SelectDate/Target.js +1 -1
  216. package/lib/components/SelectDate/index.d.ts.map +1 -1
  217. package/lib/components/SelectDate/index.js +28 -1
  218. package/lib/components/SelectDate/index.test.js +108 -51
  219. package/lib/components/SelectDate/schema.d.ts.map +1 -1
  220. package/lib/components/SelectDate/schema.js +2 -0
  221. package/lib/components/SelectDate/types.d.ts +2 -0
  222. package/lib/components/SelectDate/types.d.ts.map +1 -1
  223. package/lib/components/SelectDate/types.js +5 -1
  224. package/lib/components/SelectDateRange/index.d.ts.map +1 -1
  225. package/lib/components/SelectDateRange/index.js +28 -1
  226. package/lib/components/SelectDateRange/index.test.js +115 -58
  227. package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
  228. package/lib/components/SelectDateRange/schema.js +2 -0
  229. package/lib/components/SelectDateRange/types.js +5 -1
  230. package/lib/components/SelectMenu/index.d.ts +5 -0
  231. package/lib/components/SelectMenu/index.d.ts.map +1 -1
  232. package/lib/components/SelectMenu/index.js +27 -3
  233. package/lib/components/SelectMenu/schema.d.ts.map +1 -1
  234. package/lib/components/SelectMenu/schema.js +4 -0
  235. package/lib/components/Table/Body.d.ts.map +1 -1
  236. package/lib/components/Table/Body.js +182 -38
  237. package/lib/components/Table/Container.d.ts.map +1 -1
  238. package/lib/components/Table/Container.js +3 -3
  239. package/lib/components/Table/DataRow.d.ts.map +1 -1
  240. package/lib/components/Table/DataRow.js +54 -10
  241. package/lib/components/Table/DraggableWrapper.d.ts +5 -0
  242. package/lib/components/Table/DraggableWrapper.d.ts.map +1 -0
  243. package/lib/components/Table/DraggableWrapper.js +38 -0
  244. package/lib/components/Table/Grip.d.ts +4 -0
  245. package/lib/components/Table/Grip.d.ts.map +1 -0
  246. package/lib/components/Table/Grip.js +30 -0
  247. package/lib/components/Table/Head.d.ts +1 -1
  248. package/lib/components/Table/Head.d.ts.map +1 -1
  249. package/lib/components/Table/Head.js +12 -9
  250. package/lib/components/Table/HeaderCell/index.d.ts.map +1 -1
  251. package/lib/components/Table/HeaderCell/index.js +57 -4
  252. package/lib/components/Table/HeaderCell/types.d.ts +6 -0
  253. package/lib/components/Table/HeaderCell/types.d.ts.map +1 -1
  254. package/lib/components/Table/HeaderCell/types.js +5 -1
  255. package/lib/components/Table/Provider.d.ts +18 -3
  256. package/lib/components/Table/Provider.d.ts.map +1 -1
  257. package/lib/components/Table/Provider.js +50 -4
  258. package/lib/components/Table/index.d.ts.map +1 -1
  259. package/lib/components/Table/index.js +167 -21
  260. package/lib/components/Table/index.test.js +335 -64
  261. package/lib/components/Table/schema.columns.d.ts.map +1 -1
  262. package/lib/components/Table/schema.columns.js +7 -4
  263. package/lib/components/Table/schema.d.ts.map +1 -1
  264. package/lib/components/Table/schema.js +8 -6
  265. package/lib/components/Table/types.d.ts +34 -3
  266. package/lib/components/Table/types.d.ts.map +1 -1
  267. package/lib/components/Table/utils.d.ts +4 -1
  268. package/lib/components/Table/utils.d.ts.map +1 -1
  269. package/lib/components/Table/utils.js +30 -1
  270. package/lib/components/Tabs/types.js +5 -1
  271. package/lib/components/Tag/types.d.ts +1 -1
  272. package/lib/components/Tag/types.d.ts.map +1 -1
  273. package/lib/components/Tag/types.js +5 -1
  274. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  275. package/lib/components/TextArea/TextArea.js +1 -1
  276. package/lib/components/TextArea/index.js +1 -0
  277. package/lib/components/TextArea/index.test.js +5 -0
  278. package/lib/components/TextField/Input.js +1 -1
  279. package/lib/components/TextField/index.test.js +5 -0
  280. package/lib/components/Toggle/index.d.ts.map +1 -1
  281. package/lib/components/Toggle/index.js +4 -0
  282. package/lib/components/Toggle/index.test.js +39 -10
  283. package/lib/components/Toggle/types.js +5 -1
  284. package/lib/components/TopNav/BrandInfo/index.d.ts +2 -1
  285. package/lib/components/TopNav/BrandInfo/index.d.ts.map +1 -1
  286. package/lib/components/TopNav/BrandInfo/index.js +9 -1
  287. package/lib/components/TopNav/BrandInfo/schema.d.ts.map +1 -1
  288. package/lib/components/TopNav/BrandInfo/schema.js +4 -1
  289. package/lib/components/TopNav/index.test.js +28 -0
  290. package/lib/components/Typography/withColors.d.ts +1 -1
  291. package/lib/components/index.d.ts +2 -0
  292. package/lib/components/index.d.ts.map +1 -1
  293. package/lib/components/index.js +25 -0
  294. package/lib/providers/ConfigProvider/index.d.ts.map +1 -1
  295. package/lib/providers/ConfigProvider/index.js +5 -1
  296. package/lib/providers/ConfigProvider/utils/context.d.ts +1 -1
  297. package/lib/providers/ConfigProvider/utils/context.d.ts.map +1 -1
  298. package/lib/providers/ConfigProvider/utils/normalizer.d.ts.map +1 -1
  299. package/lib/providers/ConfigProvider/utils/normalizer.js +1 -1
  300. package/lib/providers/ConfigProvider/utils/translations.d.ts +5 -1
  301. package/lib/providers/ConfigProvider/utils/translations.d.ts.map +1 -1
  302. package/lib/providers/ConfigProvider/utils/translations.js +5 -1
  303. package/lib/providers/NotificationsProvider/index.d.ts +6 -3
  304. package/lib/providers/NotificationsProvider/index.d.ts.map +1 -1
  305. package/lib/providers/NotificationsProvider/index.js +74 -18
  306. package/lib/providers/NotificationsProvider/types.d.ts +4 -1
  307. package/lib/providers/NotificationsProvider/types.d.ts.map +1 -1
  308. package/lib/utils/joinClassnames.d.ts +3 -0
  309. package/lib/utils/joinClassnames.d.ts.map +1 -0
  310. package/lib/utils/joinClassnames.js +26 -0
  311. package/lib/utils/useFirstMount.d.ts +2 -0
  312. package/lib/utils/useFirstMount.d.ts.map +1 -0
  313. package/lib/utils/useFirstMount.js +19 -0
  314. package/lib/utils/useUpdateEffect.d.ts +4 -0
  315. package/lib/utils/useUpdateEffect.d.ts.map +1 -0
  316. package/lib/utils/useUpdateEffect.js +28 -0
  317. package/package.json +4 -2
  318. package/lib/atoms/InputField/RequiredIcon.d.ts +0 -4
  319. package/lib/atoms/InputField/RequiredIcon.d.ts.map +0 -1
@@ -5,12 +5,34 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _breakpointObserver = require("@decisiv/breakpoint-observer");
9
11
 
10
12
  var _SortableHeaderCell = _interopRequireDefault(require("./SortableHeaderCell"));
11
13
 
14
+ var _Provider = require("../Provider");
15
+
16
+ var _joinClassnames = _interopRequireDefault(require("../../../utils/joinClassnames"));
17
+
12
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
19
 
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
29
+
30
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
31
+
32
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
14
36
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
37
 
16
38
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -23,12 +45,43 @@ function isSortableHeader(config) {
23
45
  return false;
24
46
  }
25
47
 
48
+ function CellRenderer(_ref) {
49
+ var CustomHeaderCell = _ref.CustomHeaderCell,
50
+ rest = _objectWithoutProperties(_ref, ["CustomHeaderCell"]);
51
+
52
+ if (CustomHeaderCell) return _react.default.createElement(CustomHeaderCell, rest);
53
+ if (isSortableHeader(rest)) return _react.default.createElement(_SortableHeaderCell.default, rest);
54
+ var title = rest.title;
55
+ return _react.default.createElement("span", null, title);
56
+ }
57
+
26
58
  function HeaderCell(props) {
27
59
  var name = props.name,
28
- title = props.title,
29
- rest = _objectWithoutProperties(props, ["name", "title"]);
60
+ fixed = props.fixed,
61
+ getHeaderCellAttrs = props.getHeaderCellAttrs;
62
+
63
+ var _useContext = (0, _react.useContext)(_Provider.TableContext),
64
+ onColumnResize = _useContext.onColumnResize,
65
+ fixedColumns = _useContext.fixedColumns,
66
+ isDragging = _useContext.isDragging;
67
+
68
+ var _useBreakpointObserve = (0, _breakpointObserver.useBreakpointObserver)(),
69
+ _useBreakpointObserve2 = _slicedToArray(_useBreakpointObserve, 2),
70
+ ref = _useBreakpointObserve2[0],
71
+ dimensions = _useBreakpointObserve2[1].dimensions;
30
72
 
31
- return isSortableHeader(props) ? _react.default.createElement(_SortableHeaderCell.default, props) : _react.default.createElement("span", rest, title);
73
+ (0, _react.useEffect)(function () {
74
+ (!isDragging || fixed) && onColumnResize && onColumnResize(name, dimensions.width || 0);
75
+ }, [onColumnResize, dimensions, fixed, name, isDragging]);
76
+ var fixedColumn = fixedColumns[name];
77
+ var customAttrs = getHeaderCellAttrs && getHeaderCellAttrs(name) || {};
78
+ return _react.default.createElement("th", {
79
+ ref: ref,
80
+ id: name,
81
+ scope: "col",
82
+ className: (0, _joinClassnames.default)(fixedColumn && fixedColumn.alignment, customAttrs.className),
83
+ style: _objectSpread({}, fixedColumn ? _defineProperty({}, fixedColumn.alignment, fixedColumn.offset) : {}, {}, customAttrs.style || {})
84
+ }, _react.default.createElement("div", null, _react.default.createElement(CellRenderer, props)));
32
85
  }
33
86
 
34
87
  var _default = HeaderCell;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SortingTypes } from '../hooks/useSortableHeaders';
2
3
  import { KindModifiers, VariantModifiers } from '../types';
3
4
  export interface HeaderCellProps {
@@ -6,7 +7,12 @@ export interface HeaderCellProps {
6
7
  sortBy?: (sortingType: SortingTypes) => void;
7
8
  title?: string;
8
9
  variant?: VariantModifiers;
10
+ colIndex: number;
11
+ CustomHeaderCell?: (props: CustomHeaderCellProps) => JSX.Element;
12
+ fixed?: boolean;
13
+ getHeaderCellAttrs?: (columnName: string) => object | undefined;
9
14
  }
15
+ export declare type CustomHeaderCellProps = Pick<HeaderCellProps, 'kind' | 'name' | 'variant' | 'title'>;
10
16
  export interface SortableHeaderCellProps extends HeaderCellProps {
11
17
  sortBy: (sortingType: SortingTypes) => void;
12
18
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/HeaderCell/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/HeaderCell/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACjE;AAED,oBAAY,qBAAqB,GAAG,IAAI,CACtC,eAAe,EACf,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CACtC,CAAC;AAEF,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,10 +1,25 @@
1
1
  import React from 'react';
2
2
  import { SortableState, UseSortableHeaders } from './hooks/useSortableHeaders';
3
- interface TableProviderProps {
3
+ import { FixedColumns, DragVariant } from './types';
4
+ interface TableContextValue extends UseSortableHeaders {
5
+ isDnDEnabled: boolean;
6
+ onColumnResize?: (columnName: string, width: number) => void;
7
+ columnsWidth: {
8
+ [id: string]: number;
9
+ };
10
+ isDragging: boolean;
11
+ setIsDragging: (value: boolean) => void;
12
+ contextId: string;
13
+ hasDragHandlers: boolean;
14
+ setHasDragHandlers: (value: boolean) => void;
15
+ fixedColumns: FixedColumns;
16
+ dragVariant?: DragVariant;
17
+ }
18
+ interface TableProviderProps extends Pick<TableContextValue, 'onColumnResize' | 'fixedColumns' | 'columnsWidth' | 'isDnDEnabled' | 'hasDragHandlers' | 'setHasDragHandlers' | 'dragVariant'> {
4
19
  children: JSX.Element;
5
20
  defaultSort?: SortableState;
6
21
  }
7
- export declare const TableContext: React.Context<UseSortableHeaders>;
8
- declare function TableProvider({ children, defaultSort, }: TableProviderProps): JSX.Element;
22
+ export declare const TableContext: React.Context<TableContextValue>;
23
+ declare function TableProvider({ children, defaultSort, isDnDEnabled, onColumnResize, columnsWidth, fixedColumns, hasDragHandlers, setHasDragHandlers, dragVariant, }: TableProviderProps): JSX.Element;
9
24
  export default TableProvider;
10
25
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAA2B,EACzB,aAAa,EACb,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAIpC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,mCAEvB,CAAC;AAEH,iBAAS,aAAa,CAAC,EACrB,QAAQ,EACR,WAAW,GACZ,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAYlC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAA2B,EACzB,aAAa,EACb,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD,UAAU,iBAAkB,SAAQ,kBAAkB;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,UAAU,kBACR,SAAQ,IAAI,CACV,iBAAiB,EACf,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,aAAa,CAChB;IACD,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,kCAUvB,CAAC;AAEH,iBAAS,aAAa,CAAC,EACrB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAwBlC;AAED,eAAe,aAAa,CAAC"}
@@ -5,30 +5,76 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.TableContext = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _useSortableHeaders = _interopRequireDefault(require("./hooks/useSortableHeaders"));
11
11
 
12
+ var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
16
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
17
+
14
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
15
19
 
16
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
21
 
18
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
23
 
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
25
+
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
27
+
28
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
29
+
30
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+
20
32
  var TableContext = _react.default.createContext({
21
- sort: function sort() {}
33
+ sort: function sort() {},
34
+ isDnDEnabled: false,
35
+ columnsWidth: {},
36
+ isDragging: false,
37
+ setIsDragging: function setIsDragging() {},
38
+ contextId: '',
39
+ hasDragHandlers: true,
40
+ setHasDragHandlers: function setHasDragHandlers() {},
41
+ fixedColumns: {}
22
42
  });
23
43
 
24
44
  exports.TableContext = TableContext;
25
45
 
26
46
  function TableProvider(_ref) {
27
47
  var children = _ref.children,
28
- defaultSort = _ref.defaultSort;
48
+ defaultSort = _ref.defaultSort,
49
+ isDnDEnabled = _ref.isDnDEnabled,
50
+ onColumnResize = _ref.onColumnResize,
51
+ columnsWidth = _ref.columnsWidth,
52
+ fixedColumns = _ref.fixedColumns,
53
+ hasDragHandlers = _ref.hasDragHandlers,
54
+ setHasDragHandlers = _ref.setHasDragHandlers,
55
+ dragVariant = _ref.dragVariant;
29
56
  var sortableProps = (0, _useSortableHeaders.default)(defaultSort);
57
+ var contextId = (0, _useUniqueId.default)(undefined, 'table-');
58
+
59
+ var _useState = (0, _react.useState)(false),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ isDragging = _useState2[0],
62
+ setIsDragging = _useState2[1];
63
+
30
64
  return _react.default.createElement(TableContext.Provider, {
31
- value: _objectSpread({}, sortableProps)
65
+ value: _objectSpread({
66
+ onColumnResize: onColumnResize,
67
+ fixedColumns: fixedColumns
68
+ }, sortableProps, {
69
+ isDnDEnabled: isDnDEnabled,
70
+ columnsWidth: columnsWidth,
71
+ isDragging: isDragging,
72
+ setIsDragging: setIsDragging,
73
+ contextId: contextId,
74
+ hasDragHandlers: hasDragHandlers,
75
+ setHasDragHandlers: setHasDragHandlers,
76
+ dragVariant: dragVariant
77
+ })
32
78
  }, children);
33
79
  }
34
80
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Table/index.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAW,UAAU,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,iBAAS,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAiB3D;kBAjBQ,KAAK;;;;;;;;;;;;;AAqEd,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Table/index.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAW,UAAU,EAAgB,MAAM,SAAS,CAAC;AAI5D,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,iBAAS,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAoG3D;kBApGQ,KAAK;;;;;;;;;;;;;AAuNd,eAAe,KAAK,CAAC"}
@@ -41,7 +41,7 @@ var _get = _interopRequireDefault(require("lodash/get"));
41
41
 
42
42
  var _propTypes2 = _interopRequireDefault(require("prop-types"));
43
43
 
44
- var _react = _interopRequireDefault(require("react"));
44
+ var _react = _interopRequireWildcard(require("react"));
45
45
 
46
46
  var _modifiersPropApplies = _interopRequireDefault(require("../../utils/modifiersPropApplies"));
47
47
 
@@ -61,17 +61,39 @@ var _schema = _interopRequireDefault(require("./schema"));
61
61
 
62
62
  var _types = require("./types");
63
63
 
64
+ var _utils = require("./utils");
65
+
66
+ var _Grip = _interopRequireDefault(require("./Grip"));
67
+
64
68
  var _useSortableHeaders = require("./hooks/useSortableHeaders");
65
69
 
70
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
71
+
66
72
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
67
73
 
74
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
75
+
76
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
77
+
78
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
79
+
80
+ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
81
+
82
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
83
+
68
84
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
69
85
 
70
86
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
71
87
 
72
88
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
73
89
 
74
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
90
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
91
+
92
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
93
+
94
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
95
+
96
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
75
97
 
76
98
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
77
99
 
@@ -82,17 +104,88 @@ function Table(props) {
82
104
  defaultSort = props.defaultSort,
83
105
  footer = props.footer,
84
106
  toolbar = props.toolbar,
85
- rest = _objectWithoutProperties(props, ["data", "defaultSort", "footer", "toolbar"]);
107
+ columnsProp = props.columns,
108
+ onDragEnd = props.onDragEnd,
109
+ _props$dragVariant = props.dragVariant,
110
+ dragVariant = _props$dragVariant === void 0 ? 'row' : _props$dragVariant,
111
+ rest = _objectWithoutProperties(props, ["data", "defaultSort", "footer", "toolbar", "columns", "onDragEnd", "dragVariant"]);
112
+
113
+ var _useState = (0, _react.useState)({}),
114
+ _useState2 = _slicedToArray(_useState, 2),
115
+ columnsWidth = _useState2[0],
116
+ setColumnsWidth = _useState2[1];
117
+
118
+ var onColumnResize = (0, _react.useCallback)(function (name, width) {
119
+ setColumnsWidth(function (prevColumnsWidth) {
120
+ return _objectSpread({}, prevColumnsWidth, _defineProperty({}, name, width));
121
+ });
122
+ }, []);
123
+ var isDnDEnabled = !!onDragEnd;
124
+
125
+ var _useState3 = (0, _react.useState)(false),
126
+ _useState4 = _slicedToArray(_useState3, 2),
127
+ hasDragHandlers = _useState4[0],
128
+ setHasDragHandlers = _useState4[1];
129
+
130
+ var columns = (0, _react.useMemo)(function () {
131
+ if (isDnDEnabled && !hasDragHandlers) {
132
+ return [{
133
+ name: 'default-drag-handle',
134
+ DataCell: function DataCell(_ref) {
135
+ var DragHandle = _ref.DragHandle;
86
136
 
137
+ if (dragVariant === 'handle') {
138
+ var defaultHandle = _react.default.cloneElement(DragHandle, {
139
+ 'data-drag-handle-context-id': undefined
140
+ });
141
+
142
+ return defaultHandle;
143
+ }
144
+
145
+ return _react.default.createElement("div", null, _react.default.createElement(_Grip.default, null));
146
+ },
147
+ getHeaderCellAttrs: function getHeaderCellAttrs() {
148
+ return {
149
+ className: 'handle-container'
150
+ };
151
+ },
152
+ getCellAttrs: function getCellAttrs() {
153
+ return {
154
+ className: 'handle-container'
155
+ };
156
+ },
157
+ getCellKey: function getCellKey() {
158
+ return 'default-drag-handle';
159
+ },
160
+ fixed: columnsProp[0].fixed
161
+ }].concat(_toConsumableArray(columnsProp));
162
+ }
163
+
164
+ return columnsProp;
165
+ }, [isDnDEnabled, hasDragHandlers, columnsProp, dragVariant]);
166
+ var fixedColumns = (0, _react.useMemo)(function () {
167
+ return (0, _utils.calculateOffsets)(columns, columnsWidth);
168
+ }, [columns, columnsWidth]);
87
169
  return _react.default.createElement(_Provider.default, {
88
- defaultSort: defaultSort
170
+ defaultSort: defaultSort,
171
+ onColumnResize: onColumnResize,
172
+ columnsWidth: columnsWidth,
173
+ fixedColumns: fixedColumns,
174
+ isDnDEnabled: isDnDEnabled,
175
+ hasDragHandlers: hasDragHandlers,
176
+ setHasDragHandlers: setHasDragHandlers,
177
+ dragVariant: dragVariant
89
178
  }, _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Toolbar.default, {
90
179
  kind: rest.kind,
91
180
  toolbar: toolbar
92
181
  }), _react.default.createElement(_Container.default, _extends({}, rest, {
93
182
  hasFooter: !!footer
94
- }), _react.default.createElement("table", null, _react.default.createElement(_Head.default, rest), _react.default.createElement(_Body.default, _extends({}, rest, {
95
- data: data
183
+ }), _react.default.createElement("table", null, _react.default.createElement(_Head.default, _extends({}, rest, {
184
+ columns: columns
185
+ })), _react.default.createElement(_Body.default, _extends({}, rest, {
186
+ columns: columns,
187
+ data: data,
188
+ onDragEnd: onDragEnd
96
189
  })))), _react.default.createElement(_Foot.default, {
97
190
  kind: rest.kind,
98
191
  variant: rest.variant,
@@ -101,29 +194,82 @@ function Table(props) {
101
194
  }
102
195
 
103
196
  Table.propTypes = _objectSpread({}, _schema.default.propTypes, {
104
- GroupHeader: (0, _propTypes.requireIf)(_propTypes2.default.elementType, function (_ref) {
105
- var rowDataPath = _ref.rowDataPath;
197
+ GroupHeader: (0, _propTypes.requireIf)(_propTypes2.default.elementType, function (_ref2) {
198
+ var rowDataPath = _ref2.rowDataPath;
106
199
  return !!rowDataPath;
107
200
  }),
108
- columns: _propTypes2.default.arrayOf(_propTypes2.default.shape({
109
- DataCell: _propTypes2.default.elementType.isRequired,
110
- getCellKey: _propTypes2.default.func,
111
- name: _propTypes2.default.string.isRequired,
112
- sortBy: _propTypes2.default.func,
113
- title: _propTypes2.default.string
114
- })).isRequired,
201
+ // eslint-disable-next-line react/require-default-props
202
+ columns: function columns(props, propName, componentName) {
203
+ var scroll = props.scroll,
204
+ columns = props.columns;
205
+
206
+ if (columns.some(function (column) {
207
+ return !!column.fixed;
208
+ }) && (Array.isArray(scroll) ? !scroll.includes('x') : scroll !== 'x')) {
209
+ return new Error("You have set a column as fixed but the Table doesn't have horizontal scroll, you need to enable it via scroll prop for this feature to work correctly");
210
+ }
211
+
212
+ var previousColumn = null;
213
+ var isleColumnIndex = null;
214
+
215
+ for (var index = 0; index < columns.length; index += 1) {
216
+ var column = columns[index];
217
+
218
+ if (previousColumn && column.fixed && !previousColumn.fixed) {
219
+ isleColumnIndex = index;
220
+ break;
221
+ }
222
+
223
+ previousColumn = column;
224
+ }
225
+
226
+ previousColumn = null;
227
+
228
+ for (var _index = columns.length - 1; _index >= 0; _index -= 1) {
229
+ var _column = columns[_index];
230
+
231
+ if (previousColumn && _column.fixed && !previousColumn.fixed) {
232
+ if (isleColumnIndex && isleColumnIndex <= _index) {
233
+ return new Error("Column [".concat(_column.name, "] will not be fixed. Fixed columns must be consecutive, grouped at the beginning or at the end of the array."));
234
+ }
235
+ }
236
+
237
+ previousColumn = _column;
238
+ }
239
+
240
+ _propTypes2.default.checkPropTypes({
241
+ columns: _propTypes2.default.arrayOf(_propTypes2.default.shape({
242
+ DataCell: _propTypes2.default.elementType.isRequired,
243
+ getCellKey: _propTypes2.default.func,
244
+ name: _propTypes2.default.string.isRequired,
245
+ sortBy: _propTypes2.default.func,
246
+ title: _propTypes2.default.string,
247
+ fixed: _propTypes2.default.bool
248
+ }))
249
+ }, props, propName, componentName);
250
+
251
+ return null;
252
+ },
115
253
  toolbar: _propTypes2.default.elementType,
116
254
  footer: _propTypes2.default.elementType,
117
- getRowKey: (0, _propTypes.requireIf)(_propTypes2.default.func, function (_ref2) {
118
- var data = _ref2.data;
255
+ getRowKey: (0, _propTypes.requireIf)(_propTypes2.default.func, function (_ref3) {
256
+ var data = _ref3.data;
119
257
  return !((0, _get.default)(data, '0.key') || (0, _get.default)(data, '0.id'));
120
258
  }),
121
- height: (0, _propTypes.requireIf)(_propTypes2.default.string, function (_ref3) {
122
- var scroll = _ref3.scroll,
123
- size = _ref3.size;
259
+ height: (0, _propTypes.requireIf)(_propTypes2.default.string, function (_ref4) {
260
+ var scroll = _ref4.scroll,
261
+ size = _ref4.size;
124
262
  return (0, _modifiersPropApplies.default)('y', scroll, size);
125
263
  }),
126
- scroll: _propTypes2.default.oneOfType([_propTypes2.default.oneOf(['x', 'y']), _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['x', 'y'])), _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.oneOf(['x', 'y']), _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['x', 'y']))]))])
264
+ scroll: _propTypes2.default.oneOfType([_propTypes2.default.oneOf(['x', 'y']), _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['x', 'y'])), _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.oneOf(['x', 'y']), _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['x', 'y']))]))]),
265
+ // eslint-disable-next-line react/require-default-props
266
+ dragVariant: function dragVariant(_ref5) {
267
+ var onDragEnd = _ref5.onDragEnd,
268
+ props = _objectWithoutProperties(_ref5, ["onDragEnd"]);
269
+
270
+ if (!onDragEnd && 'dragVariant' in props) return new Error('You have set dragVariant prop but Drag-and-Drop sorting is not enabled, you can enable it by passing [onDragEnd] callback');
271
+ return null;
272
+ }
127
273
  });
128
274
  Table.defaultProps = {
129
275
  GroupHeader: undefined,