@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
@@ -9,7 +9,7 @@ exports["default"] = exports.Medallion = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
12
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
13
13
 
14
14
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
15
15
 
@@ -25,6 +25,7 @@ var VARIANT_CLASSNAMES = {
25
25
  green: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["medallion-green text-green-700"]))),
26
26
  orange: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["medallion-orange text-orange-600"]))),
27
27
  red: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["medallion-red text-red-600"]))),
28
+ // eslint-disable-next-line @algolia/satellite/prefer-accent -- here we're definitely refering to the color itself
28
29
  white: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["medallion-white text-nebula-500"])))
29
30
  };
30
31
 
@@ -37,7 +38,7 @@ var Medallion = function Medallion(_ref) {
37
38
  className = _ref.className;
38
39
  var medallionClassName = VARIANT_CLASSNAMES[variant];
39
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
40
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["medallion inline-flex items-center justify-center rounded-full ", ""])), size === "large" && "medallion-large"), medallionClassName, className),
41
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["medallion inline-flex items-center justify-center rounded-full ", ""])), size === "large" && "medallion-large"), medallionClassName, className),
41
42
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
42
43
  className: (0, _satellitePrefixer["default"])(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["p-1 ", ""])), size === "large" && "w-10 h-10")
43
44
  })
@@ -17,7 +17,7 @@ export interface ModalProps {
17
17
  locale?: ModalLocale;
18
18
  }
19
19
  export declare const Modal: {
20
- ({ title, className, children, open, fullBleed, onDismiss, animate, hideCloseIcon, size, centerY, locale: propsLocale, }: ModalProps): import("react").ReactPortal;
20
+ ({ title, className, children, open, fullBleed, onDismiss, animate, hideCloseIcon, size, centerY, locale: propsLocale, }: ModalProps): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
21
21
  Footer: import("react").FunctionComponent<import("./components/ModalFooter").ModalFooterProps>;
22
22
  };
23
23
  export default Modal;
@@ -13,12 +13,10 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _react = require("react");
19
19
 
20
- var _reactDom = require("react-dom");
21
-
22
20
  var _reactFeather = require("react-feather");
23
21
 
24
22
  var _reactTransitionGroup = require("react-transition-group");
@@ -95,6 +93,7 @@ var Modal = function Modal(_ref) {
95
93
  _ref$centerY = _ref.centerY,
96
94
  centerY = _ref$centerY === void 0 ? false : _ref$centerY,
97
95
  propsLocale = _ref.locale;
96
+ var createPortal = (0, _Satellite.useCreatePortal)();
98
97
  var contextLocale = (0, _Satellite.useLocale)("modal");
99
98
 
100
99
  var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_MODAL_LOCALE), contextLocale), propsLocale);
@@ -150,19 +149,19 @@ var Modal = function Modal(_ref) {
150
149
  "aria-label": "Modal"
151
150
  });
152
151
 
153
- return /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/(0, _jsxRuntime.jsx)(ModalContainer, {
152
+ return createPortal( /*#__PURE__*/(0, _jsxRuntime.jsx)(ModalContainer, {
154
153
  "in": open,
155
154
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
156
155
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
157
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-900/30 z-modalOverlay inset-x-0 inset-y-0 fixed w-full h-full"]))))
156
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-900/30 z-modalOverlay inset-x-0 inset-y-0 fixed w-full h-full"]))))
158
157
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
159
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["modal-container inset-x-0 inset-y-0 fixed w-full h-full p-4 overflow-x-hidden overflow-y-auto"]))), centerY && (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["flex items-center"])))),
158
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["modal-container inset-x-0 inset-y-0 fixed w-full h-full p-4 overflow-x-hidden overflow-y-auto"]))), centerY && (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["flex items-center"])))),
160
159
  ref: setModalWrapperRef
161
160
  }, modalAccessibilityProps), {}, {
162
161
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card["default"], {
163
162
  ref: dialogRef,
164
163
  elevation: "500",
165
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["my-6 mx-auto"]))), SIZE_CLASSNAMES[size], className),
164
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["my-6 mx-auto"]))), SIZE_CLASSNAMES[size], className),
166
165
  fullBleed: true,
167
166
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("header", {
168
167
  className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n px-8 min-h-14\n flex items-center justify-between space-x-2\n ", "\n ", "\n "])), title ? "border-b border-grey-100" : "justify-end", !title && hideCloseIcon && "hidden"),
@@ -184,7 +183,7 @@ var Modal = function Modal(_ref) {
184
183
  })
185
184
  }))]
186
185
  })
187
- }), document.body);
186
+ }));
188
187
  };
189
188
 
190
189
  exports.Modal = Modal;
@@ -13,7 +13,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _FlexGrid = _interopRequireDefault(require("../../FlexGrid"));
19
19
 
@@ -34,7 +34,7 @@ var ModalFooter = function ModalFooter(_ref) {
34
34
  children = _ref.children,
35
35
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
36
36
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, props), {}, {
37
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["mt-8"]))), className),
37
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["mt-8"]))), className),
38
38
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FlexGrid["default"], {
39
39
  spacing: "md",
40
40
  alignment: "center",
@@ -9,7 +9,7 @@ exports["default"] = exports.ModalSection = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
12
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
13
13
 
14
14
  var _satellitePrefixer = _interopRequireDefault(require("../../styles/helpers/satellitePrefixer"));
15
15
 
@@ -23,7 +23,7 @@ var ModalSection = function ModalSection(_ref) {
23
23
  _ref$fullBleed = _ref.fullBleed,
24
24
  fullBleed = _ref$fullBleed === void 0 ? false : _ref$fullBleed;
25
25
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("section", {
26
- className: (0, _classnames["default"])(fullBleed && (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["-mx-10"]))), className),
26
+ className: (0, _clsx["default"])(fullBleed && (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["-mx-10"]))), className),
27
27
  children: children
28
28
  });
29
29
  };
@@ -13,7 +13,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
19
19
 
@@ -39,13 +39,13 @@ var ProgressBar = function ProgressBar(_ref) {
39
39
  barClassName = _ref.barClassName,
40
40
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
41
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, props), {}, {
42
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["progress-bar"]))), className),
42
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["progress-bar"]))), className),
43
43
  role: "progressbar",
44
44
  "aria-valuenow": value,
45
45
  "aria-valuemin": 0,
46
46
  "aria-valuemax": 100,
47
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["progress-bar-progress"]))), barClassName),
48
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["progress-bar-progress"]))), barClassName),
49
49
  style: {
50
50
  width: "".concat(value, "%"),
51
51
  transition: "all 150ms ease-in-out"
@@ -13,7 +13,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
19
19
 
@@ -42,7 +42,7 @@ var ProgressSpinner = function ProgressSpinner(_ref) {
42
42
  align = _ref.align,
43
43
  svgProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
44
44
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", _objectSpread(_objectSpread({}, svgProps), {}, {
45
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["progress-spinner"]))), align && ALIGN_CLASSNAMES[align], className),
45
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["progress-spinner"]))), align && ALIGN_CLASSNAMES[align], className),
46
46
  viewBox: "".concat(size / 2, " ").concat(size / 2, " ").concat(size, " ").concat(size),
47
47
  width: size,
48
48
  height: size,
@@ -13,7 +13,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _react = require("react");
19
19
 
@@ -33,7 +33,7 @@ var RadioButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
33
  var className = _ref.className,
34
34
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
35
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({}, props), {}, {
36
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button"]))), className),
36
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button"]))), className),
37
37
  type: "radio",
38
38
  ref: ref
39
39
  }));
@@ -15,7 +15,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
 
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
17
 
18
- var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _clsx = _interopRequireDefault(require("clsx"));
19
19
 
20
20
  var _react = require("react");
21
21
 
@@ -93,7 +93,7 @@ var RangeSlider = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
93
93
  };
94
94
 
95
95
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
96
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["range-slider ", ""])), disabled && "opacity-70"), className),
96
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["range-slider ", ""])), disabled && "opacity-70"), className),
97
97
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
98
98
  className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["range-slider-track-1"]))),
99
99
  style: {
@@ -4,6 +4,7 @@ import type { SatelliteRouter } from "./SatelliteRouter";
4
4
  export interface SatelliteProps {
5
5
  router?: SatelliteRouter;
6
6
  locales?: ComponentsLocales;
7
+ portalTarget?: HTMLElement;
7
8
  children: ReactNode;
8
9
  }
9
10
  export declare const Satellite: FunctionComponent<SatelliteProps>;
@@ -17,11 +17,13 @@ var Satellite = function Satellite(_ref) {
17
17
  var _ref$router = _ref.router,
18
18
  router = _ref$router === void 0 ? _SatelliteRouter.router : _ref$router,
19
19
  locales = _ref.locales,
20
+ portalTarget = _ref.portalTarget,
20
21
  children = _ref.children;
21
22
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SatelliteContext["default"].Provider, {
22
23
  value: {
23
24
  router: router,
24
- locales: locales
25
+ locales: locales,
26
+ portalTarget: portalTarget
25
27
  },
26
28
  children: children
27
29
  });
@@ -4,6 +4,7 @@ import { SatelliteRouter } from "./SatelliteRouter";
4
4
  export interface SatelliteContextType {
5
5
  router: SatelliteRouter;
6
6
  locales?: ComponentsLocales;
7
+ portalTarget?: HTMLElement;
7
8
  }
8
9
  export declare const SatelliteContext: import("react").Context<SatelliteContextType>;
9
10
  export declare const useSatelliteContext: () => SatelliteContextType;
@@ -2,4 +2,5 @@ export * from "./Satellite";
2
2
  export * from "./SatelliteContext";
3
3
  export * from "./SatelliteRouter";
4
4
  export * from "./locale";
5
+ export * from "./useCreatePortal";
5
6
  export { default } from "./Satellite";
@@ -69,6 +69,20 @@ Object.keys(_locale).forEach(function (key) {
69
69
  });
70
70
  });
71
71
 
72
+ var _useCreatePortal = require("./useCreatePortal");
73
+
74
+ Object.keys(_useCreatePortal).forEach(function (key) {
75
+ if (key === "default" || key === "__esModule") return;
76
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
77
+ if (key in exports && exports[key] === _useCreatePortal[key]) return;
78
+ Object.defineProperty(exports, key, {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _useCreatePortal[key];
82
+ }
83
+ });
84
+ });
85
+
72
86
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
73
87
 
74
88
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -8,20 +8,22 @@ import type { ModalLocale } from "../Modal";
8
8
  import type { PaginationLocale } from "../Pagination";
9
9
  import type { CompactPaginationLocale } from "../Pagination/CompactPagination";
10
10
  import type { DotPaginationLocale } from "../Pagination/DotPagination";
11
+ import type { SidebarLocale } from "../Sidebar";
11
12
  import type { DataTableLocale } from "../Tables/DataTable";
12
13
  import type { TagLocale } from "../Tag";
13
14
  export declare type ComponentsLocales = {
14
15
  announcementBadge?: AnnouncementBadgeLocale;
15
16
  autoComplete?: AutoCompleteLocale;
17
+ compactPagination?: CompactPaginationLocale;
18
+ dataTable?: DataTableLocale;
16
19
  datePicker?: DatePickerLocale;
20
+ dotPagination?: DotPaginationLocale;
17
21
  dropzone?: DropzoneLocale;
18
22
  flag?: FlagLocale;
19
23
  input?: InputPropsLocale;
20
24
  modal?: ModalLocale;
21
- compactPagination?: CompactPaginationLocale;
22
- dotPagination?: DotPaginationLocale;
23
25
  pagination?: PaginationLocale;
24
- dataTable?: DataTableLocale;
26
+ sidebar?: SidebarLocale;
25
27
  tag?: TagLocale;
26
28
  };
27
29
  export declare const useLocale: <ComponentKey extends keyof ComponentsLocales>(componentKey: ComponentKey) => ComponentsLocales[ComponentKey];
@@ -0,0 +1,4 @@
1
+ import { ReactElement, ReactNode } from "react";
2
+ declare type CreatePortal = (children: ReactNode) => ReactElement;
3
+ export declare const useCreatePortal: () => CreatePortal;
4
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCreatePortal = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _reactDom = require("react-dom");
11
+
12
+ var _SatelliteContext = require("./SatelliteContext");
13
+
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+
16
+ var useCreatePortal = function useCreatePortal() {
17
+ var _useSatelliteContext = (0, _SatelliteContext.useSatelliteContext)(),
18
+ portalTarget = _useSatelliteContext.portalTarget; // SSR? Too bad! Abort, abort!
19
+
20
+
21
+ if (typeof document === "undefined") return function () {
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {});
23
+ };
24
+ return function (children) {
25
+ return /*#__PURE__*/(0, _reactDom.createPortal)(children, portalTarget !== null && portalTarget !== void 0 ? portalTarget : document.body);
26
+ };
27
+ };
28
+
29
+ exports.useCreatePortal = useCreatePortal;
@@ -11,7 +11,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
11
 
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _clsx = _interopRequireDefault(require("clsx"));
15
15
 
16
16
  var _react = require("react");
17
17
 
@@ -96,11 +96,12 @@ var ScrollIndicator = function ScrollIndicator(_ref) {
96
96
  setScrollIndicatorsRef = _useScrollIndicators.setScrollIndicatorsRef;
97
97
 
98
98
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
99
- className: (0, _classnames["default"])(VARIANT_CLASSNAMES[variant], (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n "])), showTopIndicator && "scroll-indicator-top", showBottomIndicator && "scroll-indicator-bottom"), wrapperClassName),
99
+ className: (0, _clsx["default"])(VARIANT_CLASSNAMES[variant], (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n "])), showTopIndicator && "scroll-indicator-top", showBottomIndicator && "scroll-indicator-bottom"), wrapperClassName),
100
100
  children: /*#__PURE__*/(0, _react.createElement)(tagName, {
101
101
  style: style,
102
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["scroll-indicator-content"]))), className),
103
- ref: setScrollIndicatorsRef
102
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["scroll-indicator-content"]))), className),
103
+ ref: setScrollIndicatorsRef,
104
+ tabIndex: 0
104
105
  }, children)
105
106
  });
106
107
  };
@@ -13,7 +13,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
17
 
18
18
  var _react = require("react");
19
19
 
@@ -49,7 +49,7 @@ var Select = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
49
49
  className = _ref.className,
50
50
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
51
51
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("select", _objectSpread(_objectSpread({}, props), {}, {
52
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["select-input display-body"]))), VARIANT_CLASSNAMES[variant], className),
52
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["select-input display-body"]))), VARIANT_CLASSNAMES[variant], className),
53
53
  ref: ref
54
54
  }));
55
55
  });
@@ -1,14 +1,35 @@
1
- import type { DetailedHTMLProps, HTMLAttributes } from "react";
2
- import type { SidebarCollapsed, SidebarVariant } from "./types";
3
- export interface SidebarProps extends DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement> {
4
- /** @default "dark" */
1
+ import type { FC, ReactNode } from "react";
2
+ import type { SidebarLocale, SidebarLocation, SidebarVariant } from "./types";
3
+ export interface SidebarProps {
4
+ id?: string;
5
+ className?: string;
6
+ label?: string;
7
+ locale?: SidebarLocale;
8
+ collapsed?: boolean;
9
+ /**
10
+ * As the name of the variants imply,
11
+ * - `primary` should be used for your first level of navigation
12
+ * - `secondary` should be used for your second level of navigation
13
+ */
5
14
  variant?: SidebarVariant;
6
- /** @default false */
7
- collapsed?: SidebarCollapsed;
15
+ /**
16
+ * Used to determine whether a link should be highlighted as "active"
17
+ * Ideally only one link should be shown as active at any given time.
18
+ *
19
+ * @example <caption>with a location of /foo/bar</caption>
20
+ * isLinkActive('/foo', location) // returns true
21
+ *
22
+ * @example <caption>with a location of /bar</caption>
23
+ * isLinkActive('/foo', location) // returns false
24
+ *
25
+ * */
26
+ isLinkActive?: (href: string, location: SidebarLocation) => boolean;
27
+ /**
28
+ * location is used in conjunction with `isLinkActive` to display active links properly.
29
+ * It is injected from outside so that it can work with different router libraries and
30
+ * re-render when necessary.
31
+ */
32
+ location: SidebarLocation;
33
+ children?: ReactNode;
8
34
  }
9
- export declare const Sidebar: {
10
- ({ className, variant, collapsed, children, ...navProps }: SidebarProps): JSX.Element;
11
- Header: ({ className, children, ...headingProps }: import("./components/SidebarHeader").SidebarHeaderProps) => JSX.Element;
12
- Link: import("react").FunctionComponent<import("./components/SidebarLink").SidebarLinkProps>;
13
- };
14
- export default Sidebar;
35
+ export declare const Sidebar: FC<SidebarProps>;
@@ -2,70 +2,80 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = exports.Sidebar = void 0;
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+ exports.Sidebar = void 0;
13
9
 
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
11
 
16
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
13
 
18
- var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _clsx = _interopRequireDefault(require("clsx"));
19
15
 
20
16
  var _react = require("react");
21
17
 
22
- var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
23
-
24
- var _SidebarHeader = _interopRequireDefault(require("./components/SidebarHeader"));
18
+ var _Satellite = require("../Satellite");
25
19
 
26
- var _SidebarLink = _interopRequireDefault(require("./components/SidebarLink"));
20
+ var _ScrollIndicator = _interopRequireDefault(require("../ScrollIndicator"));
27
21
 
28
- var _SidebarContext = _interopRequireWildcard(require("./SidebarContext"));
29
-
30
- var _jsxRuntime = require("react/jsx-runtime");
22
+ var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
31
23
 
32
- var _templateObject;
24
+ var _matchLocation = _interopRequireDefault(require("../utils/matchLocation"));
33
25
 
34
- var _excluded = ["className", "variant", "collapsed", "children"];
26
+ var _SidebarContext = require("./SidebarContext");
35
27
 
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ var _jsxRuntime = require("react/jsx-runtime");
37
29
 
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ var _templateObject, _templateObject2, _templateObject3;
39
31
 
40
32
  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; }
41
33
 
42
34
  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) { (0, _defineProperty2["default"])(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; }
43
35
 
36
+ var DEFAULT_SIDEBAR_LOCALE = {
37
+ primarySidebarLabel: "Primary Navigation Sidebar",
38
+ secondarySidebarLabel: "Secondary Navigation Sidebar"
39
+ };
40
+
44
41
  var Sidebar = function Sidebar(_ref) {
45
- var className = _ref.className,
42
+ var id = _ref.id,
43
+ className = _ref.className,
44
+ labelProp = _ref.label,
45
+ localeProp = _ref.locale,
46
46
  _ref$variant = _ref.variant,
47
- variant = _ref$variant === void 0 ? _SidebarContext.SIDEBAR_CONTEXT_DEFAULT.variant : _ref$variant,
47
+ variant = _ref$variant === void 0 ? "primary" : _ref$variant,
48
48
  _ref$collapsed = _ref.collapsed,
49
- collapsed = _ref$collapsed === void 0 ? _SidebarContext.SIDEBAR_CONTEXT_DEFAULT.collapsed : _ref$collapsed,
50
- children = _ref.children,
51
- navProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
52
- var sidebarContext = (0, _react.useMemo)(function () {
53
- return {
49
+ collapsed = _ref$collapsed === void 0 ? false : _ref$collapsed,
50
+ _ref$isLinkActive = _ref.isLinkActive,
51
+ isLinkActiveProp = _ref$isLinkActive === void 0 ? _matchLocation["default"] : _ref$isLinkActive,
52
+ location = _ref.location,
53
+ children = _ref.children;
54
+ var isLinkActive = (0, _react.useCallback)(function (href) {
55
+ return isLinkActiveProp(href, location);
56
+ }, [isLinkActiveProp, location]);
57
+ var contextLocale = (0, _Satellite.useLocale)("sidebar");
58
+
59
+ var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_SIDEBAR_LOCALE), contextLocale), localeProp);
60
+
61
+ var label = typeof labelProp === "string" ? labelProp : variant === "primary" ? locale.primarySidebarLabel : locale.secondarySidebarLabel;
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SidebarContext.SidebarContext.Provider, {
63
+ value: {
64
+ collapsed: collapsed,
54
65
  variant: variant,
55
- collapsed: collapsed
56
- };
57
- }, [variant, collapsed]);
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SidebarContext["default"].Provider, {
59
- value: sidebarContext,
60
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", _objectSpread(_objectSpread({}, navProps), {}, {
61
- className: (0, _classnames["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["sidebar ", " ", " display-body"])), variant === "light" && "sidebar-light", collapsed && "sidebar-collapsed"), className),
62
- children: children
63
- }))
66
+ isLinkActive: isLinkActive
67
+ },
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("aside", {
69
+ id: id,
70
+ "aria-label": label,
71
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display-body border-r border-grey-200/50\n ", "\n ", "\n "])), collapsed ? "w-14" : "w-56", variant === "primary" ? "bg-grey-100" : "bg-white"), className),
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollIndicator["default"], {
73
+ wrapperClassName: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["h-full -mr-px"]))),
74
+ className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["relative px-3 pb-7 flex flex-col no-scrollbar overflow-x-hidden"]))),
75
+ children: children
76
+ })
77
+ })
64
78
  });
65
79
  };
66
80
 
67
- exports.Sidebar = Sidebar;
68
- Sidebar.Header = _SidebarHeader["default"];
69
- Sidebar.Link = _SidebarLink["default"];
70
- var _default = Sidebar;
71
- exports["default"] = _default;
81
+ exports.Sidebar = Sidebar;
@@ -0,0 +1,14 @@
1
+ import type { FC, MouseEventHandler, ReactNode } from "react";
2
+ import type { IconComponentType } from "../types";
3
+ export declare type SidebarButtonLinkIcon = IconComponentType | {
4
+ active: IconComponentType;
5
+ inactive: IconComponentType;
6
+ };
7
+ export interface SidebarButtonLinkProps {
8
+ id?: string;
9
+ icon: SidebarButtonLinkIcon;
10
+ href: string;
11
+ children: ReactNode;
12
+ onClick?: MouseEventHandler<HTMLAnchorElement>;
13
+ }
14
+ export declare const SidebarButtonLink: FC<SidebarButtonLinkProps>;