@algolia/satellite 1.0.0-beta.134 → 1.0.0-beta.137

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 (246) hide show
  1. package/cjs/AnnouncementBadge/AnnouncementBadge.js +2 -2
  2. package/cjs/AutoComplete/AutoComplete.js +7 -5
  3. package/cjs/Avatars/ApplicationAvatar.js +4 -2
  4. package/cjs/Avatars/UserAvatar.js +7 -4
  5. package/cjs/Avatars/utils.js +12 -4
  6. package/cjs/Badge/Badge.js +7 -7
  7. package/cjs/Banners/Alert/Alert.js +3 -3
  8. package/cjs/Banners/Promote/Promote.js +2 -2
  9. package/cjs/Button/Button.js +7 -7
  10. package/cjs/Button/Button.tailwind.js +7 -7
  11. package/cjs/Button/ButtonGroup.js +2 -2
  12. package/cjs/Button/IconButton.js +3 -3
  13. package/cjs/Card/Card.js +2 -2
  14. package/cjs/Card/components/CardHeader.js +2 -2
  15. package/cjs/Card/components/CardTitle.js +2 -2
  16. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  17. package/cjs/Checkbox/Checkbox.js +3 -3
  18. package/cjs/DatePicker/DatePicker.tailwind.js +13 -13
  19. package/cjs/DatePicker/components/Modal.js +7 -6
  20. package/cjs/DatePicker/components/NavBar.js +3 -3
  21. package/cjs/Dropdown/Dropdown.js +7 -6
  22. package/cjs/Dropdown/components/DropdownButtonItem.js +4 -4
  23. package/cjs/Dropdown/components/DropdownFooterItem.js +2 -2
  24. package/cjs/Dropdown/components/DropdownLinkItem.js +2 -3
  25. package/cjs/Dropdown/components/DropdownTitle.js +2 -2
  26. package/cjs/Dropdown/components/DropdownToggleItem.js +2 -2
  27. package/cjs/Dropdown/useDropdownItemProps.d.ts +9 -1
  28. package/cjs/Dropdown/useDropdownItemProps.js +18 -9
  29. package/cjs/Dropzone/Dropzone.js +2 -2
  30. package/cjs/EmptyState/EmptyState.js +5 -5
  31. package/cjs/Field/Field.js +3 -3
  32. package/cjs/Flag/Flag.js +3 -3
  33. package/cjs/Flag/Flags.d.ts +1 -1
  34. package/cjs/Flag/Flags.js +5 -4
  35. package/cjs/FlexGrid/FlexGrid.js +3 -3
  36. package/cjs/HelpUnderline/HelpUnderline.js +3 -3
  37. package/cjs/Input/Input.js +2 -2
  38. package/cjs/Insert/Insert.js +3 -0
  39. package/cjs/KeyboardKey/KeyboardKey.js +2 -2
  40. package/cjs/Link/ButtonLink.js +1 -10
  41. package/cjs/Link/Link.js +2 -2
  42. package/cjs/Medallion/Medallion.js +3 -2
  43. package/cjs/Modal/Modal.d.ts +1 -1
  44. package/cjs/Modal/Modal.js +7 -8
  45. package/cjs/Modal/components/ModalFooter.js +2 -2
  46. package/cjs/Modal/components/ModalSection.js +2 -2
  47. package/cjs/ProgressBar/ProgressBar.js +3 -3
  48. package/cjs/ProgressSpinner/ProgressSpinner.js +2 -2
  49. package/cjs/RadioGroup/RadioButton.js +2 -2
  50. package/cjs/RangeSlider/RangeSlider.js +2 -2
  51. package/cjs/Satellite/Satellite.d.ts +1 -0
  52. package/cjs/Satellite/Satellite.js +3 -1
  53. package/cjs/Satellite/SatelliteContext.d.ts +1 -0
  54. package/cjs/Satellite/index.d.ts +1 -0
  55. package/cjs/Satellite/index.js +14 -0
  56. package/cjs/Satellite/locale.d.ts +5 -3
  57. package/cjs/Satellite/useCreatePortal.d.ts +4 -0
  58. package/cjs/Satellite/useCreatePortal.js +29 -0
  59. package/cjs/ScrollIndicator/ScrollIndicator.js +5 -4
  60. package/cjs/Select/Select.js +2 -2
  61. package/cjs/Sidebar/Sidebar.d.ts +33 -12
  62. package/cjs/Sidebar/Sidebar.js +49 -39
  63. package/cjs/Sidebar/SidebarButtonLink.d.ts +14 -0
  64. package/cjs/Sidebar/SidebarButtonLink.js +110 -0
  65. package/cjs/Sidebar/SidebarContext.d.ts +7 -8
  66. package/cjs/Sidebar/SidebarContext.js +10 -11
  67. package/cjs/Sidebar/SidebarHeader.d.ts +6 -0
  68. package/cjs/Sidebar/SidebarHeader.js +29 -0
  69. package/cjs/Sidebar/SidebarHeading.d.ts +7 -0
  70. package/cjs/Sidebar/SidebarHeading.js +37 -0
  71. package/cjs/Sidebar/SidebarLink.d.ts +8 -0
  72. package/cjs/Sidebar/SidebarLink.js +58 -0
  73. package/cjs/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.d.ts +8 -0
  74. package/cjs/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.js +47 -0
  75. package/cjs/Sidebar/SidebarLinksGroup/SidebarGroupLink.d.ts +7 -0
  76. package/cjs/Sidebar/{components/SidebarHeader.js → SidebarLinksGroup/SidebarGroupLink.js} +14 -23
  77. package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +23 -0
  78. package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +120 -0
  79. package/cjs/Sidebar/SidebarLinksGroup/index.d.ts +2 -0
  80. package/cjs/Sidebar/SidebarLinksGroup/index.js +18 -0
  81. package/cjs/Sidebar/SidebarLinksGroup/types.d.ts +10 -0
  82. package/cjs/Sidebar/SidebarLinksGroup/types.js +5 -0
  83. package/cjs/Sidebar/SidebarNav.d.ts +10 -0
  84. package/cjs/Sidebar/SidebarNav.js +48 -0
  85. package/cjs/Sidebar/index.d.ts +7 -4
  86. package/cjs/Sidebar/index.js +61 -21
  87. package/cjs/Sidebar/types.d.ts +6 -2
  88. package/cjs/Switch/Switch.js +2 -2
  89. package/cjs/Tables/DataTable/DataTable.js +30 -21
  90. package/cjs/Tables/DataTable/DataTable.tailwind.js +3 -0
  91. package/cjs/Tables/DataTable/components/HeaderCell.d.ts +1 -0
  92. package/cjs/Tables/DataTable/components/HeaderCell.js +20 -10
  93. package/cjs/Tables/Table/Table.js +2 -2
  94. package/cjs/Tables/Table/components/Footer.js +2 -2
  95. package/cjs/Tabs/ContentTabs.js +3 -3
  96. package/cjs/Tabs/LinkTabs.js +2 -2
  97. package/cjs/Tabs/Tabs.tailwind.js +8 -8
  98. package/cjs/Tabs/components/LinkTab.js +9 -11
  99. package/cjs/Tag/Tag.js +5 -6
  100. package/cjs/TextArea/TextArea.js +2 -2
  101. package/cjs/Toggle/Toggle.js +2 -2
  102. package/cjs/Tooltip/OverflowTooltipWrapper.js +8 -7
  103. package/cjs/Tooltip/Tooltip.js +2 -2
  104. package/cjs/Tooltip/TooltipWrapper.js +8 -7
  105. package/cjs/UserContent/UserContent.js +2 -2
  106. package/cjs/UserContent/UserContent.tailwind.js +1 -1
  107. package/cjs/index.d.ts +0 -1
  108. package/cjs/index.js +0 -14
  109. package/cjs/styles/tailwind.config.js +1 -1
  110. package/cjs/utils/onlyText.d.ts +3 -0
  111. package/cjs/utils/onlyText.js +49 -0
  112. package/cjs/utils/useLinkProps.d.ts +5 -2
  113. package/cjs/utils/useLinkProps.js +9 -2
  114. package/esm/AnnouncementBadge/AnnouncementBadge.js +1 -1
  115. package/esm/AutoComplete/AutoComplete.js +4 -2
  116. package/esm/Avatars/ApplicationAvatar.js +3 -1
  117. package/esm/Avatars/UserAvatar.js +7 -4
  118. package/esm/Avatars/utils.js +12 -4
  119. package/esm/Badge/Badge.js +6 -6
  120. package/esm/Banners/Alert/Alert.js +1 -1
  121. package/esm/Banners/Promote/Promote.js +1 -1
  122. package/esm/Button/Button.js +1 -1
  123. package/esm/Button/Button.tailwind.js +7 -7
  124. package/esm/Button/ButtonGroup.js +1 -1
  125. package/esm/Button/IconButton.js +1 -1
  126. package/esm/Card/Card.js +1 -1
  127. package/esm/Card/components/CardHeader.js +1 -1
  128. package/esm/Card/components/CardTitle.js +1 -1
  129. package/esm/Checkbox/Checkbox.d.ts +1 -1
  130. package/esm/Checkbox/Checkbox.js +1 -1
  131. package/esm/DatePicker/DatePicker.tailwind.js +13 -13
  132. package/esm/DatePicker/components/Modal.js +5 -4
  133. package/esm/DatePicker/components/NavBar.js +2 -2
  134. package/esm/Dropdown/Dropdown.js +5 -4
  135. package/esm/Dropdown/components/DropdownButtonItem.js +3 -3
  136. package/esm/Dropdown/components/DropdownFooterItem.js +1 -1
  137. package/esm/Dropdown/components/DropdownLinkItem.js +1 -2
  138. package/esm/Dropdown/components/DropdownTitle.js +1 -1
  139. package/esm/Dropdown/components/DropdownToggleItem.js +1 -1
  140. package/esm/Dropdown/useDropdownItemProps.d.ts +9 -1
  141. package/esm/Dropdown/useDropdownItemProps.js +16 -8
  142. package/esm/Dropzone/Dropzone.js +2 -2
  143. package/esm/EmptyState/EmptyState.js +1 -1
  144. package/esm/Field/Field.js +1 -1
  145. package/esm/Flag/Flag.js +1 -1
  146. package/esm/Flag/Flags.d.ts +1 -1
  147. package/esm/Flag/Flags.js +4 -3
  148. package/esm/FlexGrid/FlexGrid.js +1 -1
  149. package/esm/HelpUnderline/HelpUnderline.js +1 -1
  150. package/esm/Input/Input.js +1 -1
  151. package/esm/Insert/Insert.js +2 -0
  152. package/esm/KeyboardKey/KeyboardKey.js +1 -1
  153. package/esm/Link/ButtonLink.js +1 -10
  154. package/esm/Link/Link.js +1 -1
  155. package/esm/Medallion/Medallion.js +2 -1
  156. package/esm/Modal/Modal.d.ts +1 -1
  157. package/esm/Modal/Modal.js +5 -5
  158. package/esm/Modal/components/ModalFooter.js +1 -1
  159. package/esm/Modal/components/ModalSection.js +1 -1
  160. package/esm/ProgressBar/ProgressBar.js +1 -1
  161. package/esm/ProgressSpinner/ProgressSpinner.js +1 -1
  162. package/esm/RadioGroup/RadioButton.js +1 -1
  163. package/esm/RangeSlider/RangeSlider.js +1 -1
  164. package/esm/Satellite/Satellite.d.ts +1 -0
  165. package/esm/Satellite/Satellite.js +3 -1
  166. package/esm/Satellite/SatelliteContext.d.ts +1 -0
  167. package/esm/Satellite/index.d.ts +1 -0
  168. package/esm/Satellite/index.js +1 -0
  169. package/esm/Satellite/locale.d.ts +5 -3
  170. package/esm/Satellite/useCreatePortal.d.ts +4 -0
  171. package/esm/Satellite/useCreatePortal.js +16 -0
  172. package/esm/ScrollIndicator/ScrollIndicator.js +3 -2
  173. package/esm/Select/Select.js +1 -1
  174. package/esm/Sidebar/Sidebar.d.ts +33 -12
  175. package/esm/Sidebar/Sidebar.js +45 -30
  176. package/esm/Sidebar/SidebarButtonLink.d.ts +14 -0
  177. package/esm/Sidebar/SidebarButtonLink.js +92 -0
  178. package/esm/Sidebar/SidebarContext.d.ts +7 -8
  179. package/esm/Sidebar/SidebarContext.js +9 -8
  180. package/esm/Sidebar/SidebarHeader.d.ts +6 -0
  181. package/esm/Sidebar/SidebarHeader.js +15 -0
  182. package/esm/Sidebar/SidebarHeading.d.ts +7 -0
  183. package/esm/Sidebar/SidebarHeading.js +22 -0
  184. package/esm/Sidebar/SidebarLink.d.ts +8 -0
  185. package/esm/Sidebar/SidebarLink.js +42 -0
  186. package/esm/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.d.ts +8 -0
  187. package/esm/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.js +32 -0
  188. package/esm/Sidebar/SidebarLinksGroup/SidebarGroupLink.d.ts +7 -0
  189. package/esm/Sidebar/{components/SidebarHeader.js → SidebarLinksGroup/SidebarGroupLink.js} +13 -19
  190. package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +23 -0
  191. package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +100 -0
  192. package/esm/Sidebar/SidebarLinksGroup/index.d.ts +2 -0
  193. package/esm/Sidebar/SidebarLinksGroup/index.js +2 -0
  194. package/esm/Sidebar/SidebarLinksGroup/types.d.ts +10 -0
  195. package/esm/Sidebar/SidebarLinksGroup/types.js +1 -0
  196. package/esm/Sidebar/SidebarNav.d.ts +10 -0
  197. package/esm/Sidebar/SidebarNav.js +33 -0
  198. package/esm/Sidebar/index.d.ts +7 -4
  199. package/esm/Sidebar/index.js +7 -4
  200. package/esm/Sidebar/types.d.ts +6 -2
  201. package/esm/Switch/Switch.js +1 -1
  202. package/esm/Tables/DataTable/DataTable.js +29 -21
  203. package/esm/Tables/DataTable/DataTable.tailwind.js +3 -0
  204. package/esm/Tables/DataTable/components/HeaderCell.d.ts +1 -0
  205. package/esm/Tables/DataTable/components/HeaderCell.js +20 -10
  206. package/esm/Tables/Table/Table.js +1 -1
  207. package/esm/Tables/Table/components/Footer.js +1 -1
  208. package/esm/Tabs/ContentTabs.js +1 -1
  209. package/esm/Tabs/LinkTabs.js +1 -1
  210. package/esm/Tabs/Tabs.tailwind.js +8 -8
  211. package/esm/Tabs/components/LinkTab.js +8 -10
  212. package/esm/Tag/Tag.js +3 -4
  213. package/esm/TextArea/TextArea.js +1 -1
  214. package/esm/Toggle/Toggle.js +1 -1
  215. package/esm/Tooltip/OverflowTooltipWrapper.js +5 -4
  216. package/esm/Tooltip/Tooltip.js +1 -1
  217. package/esm/Tooltip/TooltipWrapper.js +5 -4
  218. package/esm/UserContent/UserContent.js +1 -1
  219. package/esm/UserContent/UserContent.tailwind.js +1 -1
  220. package/esm/index.d.ts +0 -1
  221. package/esm/index.js +0 -1
  222. package/esm/styles/tailwind.config.js +1 -1
  223. package/esm/utils/onlyText.d.ts +3 -0
  224. package/esm/utils/onlyText.js +41 -0
  225. package/esm/utils/useLinkProps.d.ts +5 -2
  226. package/esm/utils/useLinkProps.js +9 -2
  227. package/package.json +5 -4
  228. package/satellite.min.css +1 -1
  229. package/cjs/Banner/Banner.d.ts +0 -86
  230. package/cjs/Banner/Banner.js +0 -176
  231. package/cjs/Banner/index.d.ts +0 -2
  232. package/cjs/Banner/index.js +0 -32
  233. package/cjs/Sidebar/Sidebar.tailwind.d.ts +0 -5
  234. package/cjs/Sidebar/Sidebar.tailwind.js +0 -66
  235. package/cjs/Sidebar/components/SidebarHeader.d.ts +0 -5
  236. package/cjs/Sidebar/components/SidebarLink.d.ts +0 -10
  237. package/cjs/Sidebar/components/SidebarLink.js +0 -98
  238. package/esm/Banner/Banner.d.ts +0 -86
  239. package/esm/Banner/Banner.js +0 -161
  240. package/esm/Banner/index.d.ts +0 -2
  241. package/esm/Banner/index.js +0 -2
  242. package/esm/Sidebar/Sidebar.tailwind.d.ts +0 -5
  243. package/esm/Sidebar/Sidebar.tailwind.js +0 -64
  244. package/esm/Sidebar/components/SidebarHeader.d.ts +0 -5
  245. package/esm/Sidebar/components/SidebarLink.d.ts +0 -10
  246. package/esm/Sidebar/components/SidebarLink.js +0 -78
@@ -0,0 +1,42 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+
4
+ var _templateObject, _templateObject2, _templateObject3;
5
+
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+
10
+ import cx from "clsx";
11
+ import stl from "../styles/helpers/satellitePrefixer";
12
+ import useLinkProps from "../utils/useLinkProps";
13
+ import { useSidebarContext } from "./SidebarContext";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ export var SidebarLink = function SidebarLink(props) {
17
+ var _linkProps$href;
18
+
19
+ var _useSidebarContext = useSidebarContext(),
20
+ isLinkActive = _useSidebarContext.isLinkActive;
21
+
22
+ var id = props.id,
23
+ className = props.className,
24
+ disabled = props.disabled,
25
+ Icon = props.icon,
26
+ children = props.children;
27
+ var linkProps = useLinkProps(props);
28
+ var isActive = !disabled && isLinkActive((_linkProps$href = linkProps.href) !== null && _linkProps$href !== void 0 ? _linkProps$href : "");
29
+ return /*#__PURE__*/_jsxs("a", _objectSpread(_objectSpread({}, linkProps), {}, {
30
+ id: id,
31
+ className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex items-center\n group hover:no-underline focus:outline-none\n ", "\n "])), disabled ? "cursor-not-allowed" : "cursor-pointer"), className),
32
+ "aria-current": isActive,
33
+ children: [/*#__PURE__*/_jsx(Icon, {
34
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["shrink-0 mr-3 ", ""])), disabled ? "text-grey-300" : "text-grey-500"),
35
+ width: "1rem",
36
+ height: "1rem"
37
+ }), /*#__PURE__*/_jsx("span", {
38
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex-1 truncate\n ", ""])), disabled ? "text-grey-300" : isActive ? "font-semibold text-accent-600" : "typo-subdued focus:text-accent-600 group-hover:text-accent-600"),
39
+ children: children
40
+ })]
41
+ }));
42
+ };
@@ -0,0 +1,8 @@
1
+ import type { FC } from "react";
2
+ declare type ActiveLinkIndicatorProps = {
3
+ className?: string;
4
+ activeIndex?: number;
5
+ linksCount: number;
6
+ };
7
+ export declare const ActiveLinkIndicator: FC<ActiveLinkIndicatorProps>;
8
+ export {};
@@ -0,0 +1,32 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3;
4
+
5
+ import cx from "clsx";
6
+ import stl from "../../styles/helpers/satellitePrefixer";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var LINK_HEIGHT_PX = 24;
9
+ var LINKS_SPACING_PX = 8;
10
+ export var ActiveLinkIndicator = function ActiveLinkIndicator(_ref) {
11
+ var className = _ref.className,
12
+ activeIndex = _ref.activeIndex,
13
+ linksCount = _ref.linksCount;
14
+ var showIndicator = typeof activeIndex === "number" && activeIndex >= 0;
15
+ return /*#__PURE__*/_jsx("div", {
16
+ className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["w-4 flex justify-center"]))), className),
17
+ style: {
18
+ height: linksCount * LINK_HEIGHT_PX + (linksCount - 1) * LINKS_SPACING_PX
19
+ },
20
+ "aria-hidden": true,
21
+ children: /*#__PURE__*/_jsx("div", {
22
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["w-px h-full bg-grey-200"]))),
23
+ children: /*#__PURE__*/_jsx("div", {
24
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n w-px bg-accent-500\n transition-transform duration-100 ease-in-out\n ", "\n "])), showIndicator ? "visible" : "hidden"),
25
+ style: {
26
+ height: LINK_HEIGHT_PX,
27
+ transform: typeof activeIndex === "number" ? "translateY(".concat(activeIndex * (LINK_HEIGHT_PX + LINKS_SPACING_PX), "px)") : undefined
28
+ }
29
+ })
30
+ })
31
+ });
32
+ };
@@ -0,0 +1,7 @@
1
+ import type { FC } from "react";
2
+ import type { SidebarLinksGroupLink } from "./types";
3
+ declare type LinkProps = SidebarLinksGroupLink & {
4
+ active: boolean;
5
+ };
6
+ export declare const SidebarGroupLink: FC<LinkProps>;
7
+ export {};
@@ -1,31 +1,25 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
3
 
5
4
  var _templateObject;
6
5
 
7
- var _excluded = ["className", "children"];
8
-
9
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
7
 
11
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
9
 
13
- import cx from "classnames";
14
10
  import stl from "../../styles/helpers/satellitePrefixer";
15
- import { useSidebarContext } from "../SidebarContext";
11
+ import useLinkProps from "../../utils/useLinkProps";
16
12
  import { jsx as _jsx } from "react/jsx-runtime";
17
- export var SidebarHeader = function SidebarHeader(_ref) {
18
- var className = _ref.className,
19
- children = _ref.children,
20
- headingProps = _objectWithoutProperties(_ref, _excluded);
21
-
22
- var _useSidebarContext = useSidebarContext(),
23
- variant = _useSidebarContext.variant,
24
- collapsed = _useSidebarContext.collapsed;
25
-
26
- return /*#__PURE__*/_jsx("h3", _objectSpread(_objectSpread({}, headingProps), {}, {
27
- className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n h-10 pl-8\n flex items-center\n display-subheading uppercase\n ", "\n ", "\n "])), variant === "dark" ? "text-white" : "text-grey-900", collapsed && "invisible overflow-hidden"), className),
28
- children: children
13
+ export var SidebarGroupLink = function SidebarGroupLink(props) {
14
+ var label = props.label,
15
+ active = props.active,
16
+ id = props.id,
17
+ disabled = props.disabled;
18
+ var linkProps = useLinkProps(props);
19
+ return /*#__PURE__*/_jsx("a", _objectSpread(_objectSpread({}, linkProps), {}, {
20
+ id: id,
21
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n block hover:no-underline focus:outline-none leading-md\n ", "\n ", ""])), disabled ? "cursor-not-allowed" : "cursor-pointer", disabled ? "text-grey-300" : active ? "font-semibold text-accent-600" : "typo-subdued hover:text-accent-600 focus:text-accent-600"),
22
+ "aria-current": active,
23
+ children: label
29
24
  }));
30
- };
31
- export default SidebarHeader;
25
+ };
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from "react";
2
+ import type { IconComponentType } from "../../types";
3
+ import type { SidebarLinksGroupLink } from "./types";
4
+ declare type SidebarLinksGroupBaseProps = {
5
+ id?: string;
6
+ className?: string;
7
+ links: SidebarLinksGroupLink[];
8
+ };
9
+ export declare type StaticSidebarLinksGroupProps = SidebarLinksGroupBaseProps & {
10
+ title?: never;
11
+ icon?: never;
12
+ initialIsOpen?: never;
13
+ onGroupToggle?: never;
14
+ };
15
+ export declare type CollapsibleSidebarLinksGroupProps = SidebarLinksGroupBaseProps & {
16
+ title: ReactNode;
17
+ icon: IconComponentType;
18
+ initialIsOpen?: boolean;
19
+ onGroupToggle?: (open: boolean) => void;
20
+ };
21
+ export declare type SidebarLinksGroupProps = StaticSidebarLinksGroupProps | CollapsibleSidebarLinksGroupProps;
22
+ export declare const SidebarLinksGroup: (props: SidebarLinksGroupProps) => JSX.Element;
23
+ export {};
@@ -0,0 +1,100 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
6
+
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
+
11
+ import { uniqueId } from "lodash";
12
+ import { useEffect, useMemo, useState } from "react";
13
+ import { ChevronRight } from "react-feather";
14
+ import usePrevious from "react-use/lib/usePrevious";
15
+ import stl from "../../styles/helpers/satellitePrefixer";
16
+ import { useSidebarContext } from "../SidebarContext";
17
+ import { ActiveLinkIndicator } from "./ActiveLinkIndicator";
18
+ import { SidebarGroupLink } from "./SidebarGroupLink";
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ import { jsxs as _jsxs } from "react/jsx-runtime";
21
+
22
+ var isCollapsibleSidebarLinksGroupProps = function isCollapsibleSidebarLinksGroupProps(props) {
23
+ return "title" in props && "icon" in props;
24
+ };
25
+
26
+ export var SidebarLinksGroup = function SidebarLinksGroup(props) {
27
+ var _useSidebarContext = useSidebarContext(),
28
+ isLinkActive = _useSidebarContext.isLinkActive;
29
+
30
+ var id = props.id,
31
+ className = props.className,
32
+ links = props.links;
33
+ var contentId = useMemo(function () {
34
+ return uniqueId("links-group-");
35
+ }, []);
36
+ var activeLinkIndex = links.findIndex(function (link) {
37
+ return !link.disabled && isLinkActive(link.href);
38
+ });
39
+ var previousActiveLinkIndex = usePrevious(activeLinkIndex);
40
+ var hasMatchingLink = activeLinkIndex >= 0;
41
+
42
+ var _useState = useState(!isCollapsibleSidebarLinksGroupProps(props) || hasMatchingLink || props.initialIsOpen !== false),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ isOpen = _useState2[0],
45
+ setIsOpen = _useState2[1];
46
+
47
+ useEffect(function () {
48
+ if (isCollapsibleSidebarLinksGroupProps(props)) {
49
+ var _props$onGroupToggle;
50
+
51
+ (_props$onGroupToggle = props.onGroupToggle) === null || _props$onGroupToggle === void 0 ? void 0 : _props$onGroupToggle.call(props, isOpen);
52
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
53
+
54
+ }, [isOpen]);
55
+ useEffect(function () {
56
+ if (!isOpen && activeLinkIndex >= 0 && typeof previousActiveLinkIndex === "number" && activeLinkIndex !== previousActiveLinkIndex) {
57
+ setIsOpen(true);
58
+ }
59
+ }, [activeLinkIndex, previousActiveLinkIndex, isOpen]);
60
+ return /*#__PURE__*/_jsxs("div", {
61
+ id: id,
62
+ className: className,
63
+ children: [isCollapsibleSidebarLinksGroupProps(props) && /*#__PURE__*/_jsxs("button", {
64
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex w-full text-left items-center mb-4 overflow-hidden focus:outline-none group cursor-pointer"]))),
65
+ onClick: function onClick() {
66
+ return setIsOpen(!isOpen);
67
+ },
68
+ "aria-expanded": isOpen,
69
+ "aria-controls": contentId,
70
+ children: [/*#__PURE__*/_jsx(props.icon, {
71
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["shrink-0 text-grey-500 mr-3"]))),
72
+ size: "1rem"
73
+ }), /*#__PURE__*/_jsx("span", {
74
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["truncate display-subheading uppercase text-grey-800 group-hover:text-accent-500 mr-2"]))),
75
+ children: props.title
76
+ }), /*#__PURE__*/_jsx(ChevronRight, {
77
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["shrink-0 text-grey-500 transition-all duration-150 ease-in-out ", ""])), isOpen && "rotate-90"),
78
+ size: "1rem"
79
+ })]
80
+ }), /*#__PURE__*/_jsxs("div", {
81
+ id: contentId,
82
+ className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["flex ", ""])), !isOpen && "hidden"),
83
+ children: [/*#__PURE__*/_jsx(ActiveLinkIndicator, {
84
+ className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["shrink-0 mr-3"]))),
85
+ activeIndex: activeLinkIndex,
86
+ linksCount: links.length
87
+ }), /*#__PURE__*/_jsx("ul", {
88
+ className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["flex-1 space-y-2 overflow-hidden"]))),
89
+ children: links.map(function (link, idx) {
90
+ return /*#__PURE__*/_jsx("li", {
91
+ className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["truncate"]))),
92
+ children: /*#__PURE__*/_jsx(SidebarGroupLink, _objectSpread(_objectSpread({}, link), {}, {
93
+ active: activeLinkIndex === idx
94
+ }))
95
+ }, "".concat(idx, "-").concat(link.href));
96
+ })
97
+ })]
98
+ })]
99
+ });
100
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./SidebarLinksGroup";
2
+ export type { SidebarLinksGroupLink } from "./types";
@@ -0,0 +1,2 @@
1
+ export * from "./SidebarLinksGroup";
2
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { MouseEventHandler, ReactNode } from "react";
2
+ export declare type SidebarLinksGroupLink = {
3
+ id?: string;
4
+ href: string;
5
+ target?: string;
6
+ rel?: string;
7
+ onClick?: MouseEventHandler<HTMLAnchorElement>;
8
+ disabled?: boolean;
9
+ label: ReactNode;
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { FC, ReactNode } from "react";
2
+ export declare type SidebarNavSpacing = "small" | "large";
3
+ export declare type SidebarNavProps = {
4
+ id?: string;
5
+ className?: string;
6
+ spacing?: SidebarNavSpacing;
7
+ label: string;
8
+ children: ReactNode;
9
+ };
10
+ export declare const SidebarNav: FC<SidebarNavProps>;
@@ -0,0 +1,33 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject;
4
+
5
+ import { Children } from "react";
6
+ import stl from "../styles/helpers/satellitePrefixer";
7
+ import { useSidebarContext } from "./SidebarContext";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export var SidebarNav = function SidebarNav(_ref) {
10
+ var id = _ref.id,
11
+ className = _ref.className,
12
+ spacingProp = _ref.spacing,
13
+ label = _ref.label,
14
+ children = _ref.children;
15
+
16
+ var _useSidebarContext = useSidebarContext(),
17
+ variant = _useSidebarContext.variant;
18
+
19
+ var spacing = typeof spacingProp === "string" ? spacingProp : variant === "primary" ? "small" : "large";
20
+ return /*#__PURE__*/_jsx("nav", {
21
+ id: id,
22
+ className: className,
23
+ "aria-label": label,
24
+ children: /*#__PURE__*/_jsx("ul", {
25
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["", ""])), spacing === "small" ? "space-y-2" : "px-3 space-y-8"),
26
+ children: Children.map(children, function (child, index) {
27
+ return /*#__PURE__*/_jsx("li", {
28
+ children: child
29
+ }, index);
30
+ })
31
+ })
32
+ });
33
+ };
@@ -1,6 +1,9 @@
1
1
  export * from "./Sidebar";
2
+ export * from "./SidebarButtonLink";
3
+ export * from "./SidebarHeader";
4
+ export * from "./SidebarHeading";
5
+ export * from "./SidebarLink";
6
+ export * from "./SidebarLinksGroup";
7
+ export * from "./SidebarNav";
2
8
  export * from "./types";
3
- export * from "./SidebarContext";
4
- export * from "./components/SidebarLink";
5
- export * from "./components/SidebarHeader";
6
- export { default } from "./Sidebar";
9
+ export { useSidebarContext } from "./SidebarContext";
@@ -1,6 +1,9 @@
1
1
  export * from "./Sidebar";
2
+ export * from "./SidebarButtonLink";
3
+ export * from "./SidebarHeader";
4
+ export * from "./SidebarHeading";
5
+ export * from "./SidebarLink";
6
+ export * from "./SidebarLinksGroup";
7
+ export * from "./SidebarNav";
2
8
  export * from "./types";
3
- export * from "./SidebarContext";
4
- export * from "./components/SidebarLink";
5
- export * from "./components/SidebarHeader";
6
- export { default } from "./Sidebar";
9
+ export { useSidebarContext } from "./SidebarContext";
@@ -1,2 +1,6 @@
1
- export declare type SidebarVariant = "dark" | "light";
2
- export declare type SidebarCollapsed = boolean;
1
+ export declare type SidebarVariant = "primary" | "secondary";
2
+ export declare type SidebarLocation = Pick<Location, "pathname" | "hash" | "search">;
3
+ export declare type SidebarLocale = {
4
+ primarySidebarLabel?: string;
5
+ secondarySidebarLabel?: string;
6
+ };
@@ -3,7 +3,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
 
4
4
  var _templateObject, _templateObject2;
5
5
 
6
- import cx from "classnames";
6
+ import cx from "clsx";
7
7
  import { useLayoutEffect, useRef, useState } from "react";
8
8
  import { BUTTON_SIZE_CLASSNAMES } from "../Button/styles";
9
9
  import { RadioGroupContext } from "../RadioGroup";
@@ -3,7 +3,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
 
6
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
6
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
7
7
 
8
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
 
@@ -22,6 +22,7 @@ import DataTableBody from "./components/Body";
22
22
  import DataTableFooter from "./components/Footer";
23
23
  import DataTableHeader from "./components/Header";
24
24
  import DataTableLoader from "./components/Loader";
25
+ import { isDeterminatePagination, isIndeterminatePagination } from "./utils";
25
26
  import { jsx as _jsx } from "react/jsx-runtime";
26
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
27
28
  var DEFAULT_DATATABLE_LOCALE = {
@@ -86,17 +87,13 @@ export var DataTable = function DataTable(_ref) {
86
87
  if (process.env.NODE_ENV !== "production") {
87
88
  var _selection$length;
88
89
 
89
- if (itemId === undefined && (sorting.length > 0 || selectMode !== null)) {
90
+ if (itemId === undefined && (sorting.length > 0 || selectMode !== "none")) {
90
91
  console.warn("You did not provide a custom `itemId` function, but you have defined `sorting` and/or `selectMode`. This can lead to unexpected results.");
91
92
  }
92
93
 
93
94
  if (selectMode === "single" && ((_selection$length = selection === null || selection === void 0 ? void 0 : selection.length) !== null && _selection$length !== void 0 ? _selection$length : 0) > 1) {
94
95
  console.warn("You can only have one selected item at a time in single `selectMode`.");
95
96
  }
96
-
97
- if (pagination && data.length > pagination.itemsPerPage) {
98
- console.warn("`pagination.itemsPerPage` (".concat(pagination.itemsPerPage, ") doesn't match `data.length` (").concat(data.length, ")."));
99
- }
100
97
  }
101
98
 
102
99
  var _useState = useState(),
@@ -111,19 +108,24 @@ export var DataTable = function DataTable(_ref) {
111
108
  var computedColumns = compact([selectMode === "single" && {
112
109
  id: "_internal_singleSelect",
113
110
  accessor: "_internal_singleSelect",
114
- Header: false,
111
+ Header: function Header() {
112
+ return /*#__PURE__*/_jsx("span", {
113
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["sr-only"]))),
114
+ children: "Selected row"
115
+ });
116
+ },
115
117
  Cell: function Cell(_ref2) {
116
118
  var row = _ref2.row;
117
119
  return /*#__PURE__*/_jsx("div", {
118
- className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex"]))),
120
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex"]))),
119
121
  children: /*#__PURE__*/_jsx(RadioButton, {
120
122
  defaultChecked: row.selected,
121
123
  disabled: !row.selectable,
122
- className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["", ""])), row.hovered || row.selected ? "opacity-100" : "opacity-0 select-none")
124
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["", ""])), row.hovered || row.selected ? "opacity-100" : "opacity-0 select-none")
123
125
  })
124
126
  });
125
127
  },
126
- className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["w-3"])))
128
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["w-3"])))
127
129
  }, selectMode === "multi" && {
128
130
  id: "_internal_multiSelect",
129
131
  accessor: "_internal_multiSelect",
@@ -145,7 +147,7 @@ export var DataTable = function DataTable(_ref) {
145
147
  return /*#__PURE__*/_jsx(Checkbox, {
146
148
  "aria-label": locale.selectAllButton // Small hack to position the checkbox in the center of the header
147
149
  ,
148
- className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["absolute mb-2.5"]))),
150
+ className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["absolute mb-2.5"]))),
149
151
  checked: isChecked,
150
152
  indeterminate: isIndeterminate,
151
153
  onClick: function onClick() {
@@ -156,15 +158,15 @@ export var DataTable = function DataTable(_ref) {
156
158
  Cell: function Cell(_ref3) {
157
159
  var row = _ref3.row;
158
160
  return /*#__PURE__*/_jsx("div", {
159
- className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["flex"]))),
161
+ className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["flex"]))),
160
162
  children: /*#__PURE__*/_jsx(Checkbox, {
161
163
  checked: row.selected,
162
164
  disabled: !row.selectable,
163
- className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["", ""])), row.hovered || row.selected ? "opacity-100" : "opacity-0 select-none")
165
+ className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["", ""])), row.hovered || row.selected ? "opacity-100" : "opacity-0 select-none")
164
166
  })
165
167
  });
166
168
  },
167
- className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["w-3"])))
169
+ className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["w-3"])))
168
170
  }].concat(_toConsumableArray(columns.map(function (c) {
169
171
  var _c$Header;
170
172
 
@@ -204,12 +206,18 @@ export var DataTable = function DataTable(_ref) {
204
206
  })) === null || _sorting$find === void 0 ? void 0 : _sorting$find[1]) !== null && _sorting$find$ !== void 0 ? _sorting$find$ : "desc" : "none"];
205
207
  });
206
208
 
209
+ var shouldRenderPagination = function shouldRenderPagination() {
210
+ if (isDeterminatePagination(pagination)) return pagination && pagination.totalItemsCount > 0;
211
+ if (isIndeterminatePagination(pagination)) return pagination && data.length > 0;
212
+ return false;
213
+ };
214
+
207
215
  var onRowHoverChange = function onRowHoverChange(row) {
208
216
  setHoveredRowId(row === null || row === void 0 ? void 0 : row.id);
209
217
  onRowHoveredChanged === null || onRowHoveredChanged === void 0 ? void 0 : onRowHoveredChanged(row);
210
218
  };
211
219
 
212
- var handleToggleSort = function handleToggleSort(columnId, direction) {
220
+ var onToggleSort = function onToggleSort(columnId, direction) {
213
221
  var newSorting = internalSorting.map(function (_ref7) {
214
222
  var _ref8 = _slicedToArray(_ref7, 2),
215
223
  colId = _ref8[0],
@@ -228,24 +236,24 @@ export var DataTable = function DataTable(_ref) {
228
236
  };
229
237
 
230
238
  return /*#__PURE__*/_jsxs("div", {
231
- className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["relative"]))),
239
+ className: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["relative"]))),
232
240
  children: [status === "loading" && /*#__PURE__*/_jsx("div", {
233
- className: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["absolute bg-white/50 z-10 w-full h-full flex items-center justify-center"]))),
241
+ className: stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["absolute bg-white/50 z-10 w-full h-full flex items-center justify-center"]))),
234
242
  children: /*#__PURE__*/_jsx(DataTableLoader, {
235
- className: stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["-mt-12"]))),
243
+ className: stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["-mt-12"]))),
236
244
  locale: locale
237
245
  })
238
246
  }), /*#__PURE__*/_jsxs(Table, {
239
- className: stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["datatable ", " ", ""])), status === "loading" && "pointer-events-none select-none", status === "loading" && data.length === 0 && "h-48"),
247
+ className: stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["datatable ", " ", ""])), status === "loading" && "pointer-events-none select-none", status === "loading" && data.length === 0 && "h-48"),
240
248
  highlight: false,
241
- footer: pagination !== false && /*#__PURE__*/_jsx(DataTableFooter, {
249
+ footer: shouldRenderPagination() && /*#__PURE__*/_jsx(DataTableFooter, {
242
250
  pagination: pagination,
243
251
  onChange: handlePaginationChange
244
252
  }),
245
253
  children: [/*#__PURE__*/_jsx(DataTableHeader, {
246
254
  disabled: status !== "success" || rows.length === 0,
247
255
  columns: computedColumns,
248
- onToggleSort: handleToggleSort,
256
+ onToggleSort: onToggleSort,
249
257
  sorting: internalSorting
250
258
  }), /*#__PURE__*/_jsx(DataTableBody, {
251
259
  rows: rows,
@@ -6,6 +6,9 @@ var datatablePlugin = plugin(function (_ref) {
6
6
  theme = _ref.theme;
7
7
  addComponents({
8
8
  ".datatable": {
9
+ th: {
10
+ padding: "0 !important"
11
+ },
9
12
  "tr.row-disabled td": {
10
13
  cursor: "not-allowed"
11
14
  },
@@ -3,6 +3,7 @@ import type { AdvancedColumnDefinition, SortingDirection } from "../types";
3
3
  export interface HeaderCellProps<Item> extends HTMLAttributes<HTMLTableCellElement> {
4
4
  column: AdvancedColumnDefinition<Item>;
5
5
  disabled?: boolean;
6
+ isSortingEnabled?: boolean;
6
7
  sortingDirection?: SortingDirection;
7
8
  onToggleSort: (columnId: string, sortingDirection: SortingDirection) => void;
8
9
  children: ReactNode;
@@ -3,13 +3,13 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
4
  var _excluded = ["sortingDirection", "onToggleSort", "column", "disabled", "children"];
5
5
 
6
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
6
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
7
7
 
8
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
 
10
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
11
 
12
- import cx from "classnames";
12
+ import cx from "clsx";
13
13
  import { ChevronDown, ChevronUp } from "react-feather";
14
14
  import stl from "../../../styles/helpers/satellitePrefixer";
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -28,22 +28,32 @@ export var HeaderCell = function HeaderCell(_ref) {
28
28
  children = _ref.children,
29
29
  props = _objectWithoutProperties(_ref, _excluded);
30
30
 
31
- return /*#__PURE__*/_jsx("th", _objectSpread(_objectSpread({}, props), {}, {
32
- "aria-sort": sortingDirection === "desc" ? "descending" : sortingDirection === "asc" ? "ascending" : "none",
31
+ var InternalCellComponent = sort && !disabled ? "button" : "span";
32
+
33
+ var handleSorting = function handleSorting() {
34
+ if (disabled) return;
35
+ onToggleSort(id, sortingDirection === "desc" ? "asc" : sortingDirection === "asc" ? "none" : "desc");
36
+ };
37
+
38
+ var sortButtonProps = sort ? {
33
39
  onClick: function onClick() {
34
- return sort && !disabled && onToggleSort(id, sortingDirection === "desc" ? "asc" : sortingDirection === "asc" ? "none" : "desc");
40
+ return handleSorting();
35
41
  },
36
- className: cx(className, stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["group ", ""])), sort && (disabled ? "cursor-not-allowed" : "cursor-pointer"))),
37
- children: /*#__PURE__*/_jsxs("span", {
38
- className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["inline-flex items-center"]))),
42
+ className: disabled ? stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["cursor-not-allowed"]))) : stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["cursor-pointer"])))
43
+ } : {};
44
+ return /*#__PURE__*/_jsx("th", _objectSpread(_objectSpread({}, props), {}, {
45
+ "aria-sort": sortingDirection === "desc" ? "descending" : sortingDirection === "asc" ? "ascending" : "none",
46
+ className: className,
47
+ children: /*#__PURE__*/_jsxs(InternalCellComponent, _objectSpread(_objectSpread({}, sortButtonProps), {}, {
48
+ className: cx(stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["px-4 py-[14px] inline-flex items-center focus:outline-none focus:text-accent-600"]))), sortButtonProps.className),
39
49
  children: [children, sort ? sortingDirection === "desc" ? /*#__PURE__*/_jsx(ChevronDown, {
40
50
  className: iconClassName
41
51
  }) : sortingDirection === "asc" ? /*#__PURE__*/_jsx(ChevronUp, {
42
52
  className: iconClassName
43
53
  }) : /*#__PURE__*/_jsx(ChevronDown, {
44
- className: cx(iconClassName, stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["text-grey-300 opacity-0 group-hover:opacity-100"]))))
54
+ className: cx(iconClassName, stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["text-grey-300"]))))
45
55
  }) : null]
46
- })
56
+ }))
47
57
  }));
48
58
  };
49
59
  export default HeaderCell;
@@ -10,7 +10,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
10
10
 
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
 
13
- import cx from "classnames";
13
+ import cx from "clsx";
14
14
  import stl from "../../styles/helpers/satellitePrefixer";
15
15
  import Footer from "./components/Footer";
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -2,7 +2,7 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3;
4
4
 
5
- import cx from "classnames";
5
+ import cx from "clsx";
6
6
  import stl from "../../../styles/helpers/satellitePrefixer";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  export var Footer = function Footer(_ref) {