@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.
- package/cjs/AnnouncementBadge/AnnouncementBadge.js +2 -2
- package/cjs/AutoComplete/AutoComplete.js +7 -5
- package/cjs/Avatars/ApplicationAvatar.js +4 -2
- package/cjs/Avatars/UserAvatar.js +7 -4
- package/cjs/Avatars/utils.js +12 -4
- package/cjs/Badge/Badge.js +7 -7
- package/cjs/Banners/Alert/Alert.js +3 -3
- package/cjs/Banners/Promote/Promote.js +2 -2
- package/cjs/Button/Button.js +7 -7
- package/cjs/Button/Button.tailwind.js +7 -7
- package/cjs/Button/ButtonGroup.js +2 -2
- package/cjs/Button/IconButton.js +3 -3
- package/cjs/Card/Card.js +2 -2
- package/cjs/Card/components/CardHeader.js +2 -2
- package/cjs/Card/components/CardTitle.js +2 -2
- package/cjs/Checkbox/Checkbox.d.ts +1 -1
- package/cjs/Checkbox/Checkbox.js +3 -3
- package/cjs/DatePicker/DatePicker.tailwind.js +13 -13
- package/cjs/DatePicker/components/Modal.js +7 -6
- package/cjs/DatePicker/components/NavBar.js +3 -3
- package/cjs/Dropdown/Dropdown.js +7 -6
- package/cjs/Dropdown/components/DropdownButtonItem.js +4 -4
- package/cjs/Dropdown/components/DropdownFooterItem.js +2 -2
- package/cjs/Dropdown/components/DropdownLinkItem.js +2 -3
- package/cjs/Dropdown/components/DropdownTitle.js +2 -2
- package/cjs/Dropdown/components/DropdownToggleItem.js +2 -2
- package/cjs/Dropdown/useDropdownItemProps.d.ts +9 -1
- package/cjs/Dropdown/useDropdownItemProps.js +18 -9
- package/cjs/Dropzone/Dropzone.js +2 -2
- package/cjs/EmptyState/EmptyState.js +5 -5
- package/cjs/Field/Field.js +3 -3
- package/cjs/Flag/Flag.js +3 -3
- package/cjs/Flag/Flags.d.ts +1 -1
- package/cjs/Flag/Flags.js +5 -4
- package/cjs/FlexGrid/FlexGrid.js +3 -3
- package/cjs/HelpUnderline/HelpUnderline.js +3 -3
- package/cjs/Input/Input.js +2 -2
- package/cjs/Insert/Insert.js +3 -0
- package/cjs/KeyboardKey/KeyboardKey.js +2 -2
- package/cjs/Link/ButtonLink.js +1 -10
- package/cjs/Link/Link.js +2 -2
- package/cjs/Medallion/Medallion.js +3 -2
- package/cjs/Modal/Modal.d.ts +1 -1
- package/cjs/Modal/Modal.js +7 -8
- package/cjs/Modal/components/ModalFooter.js +2 -2
- package/cjs/Modal/components/ModalSection.js +2 -2
- package/cjs/ProgressBar/ProgressBar.js +3 -3
- package/cjs/ProgressSpinner/ProgressSpinner.js +2 -2
- package/cjs/RadioGroup/RadioButton.js +2 -2
- package/cjs/RangeSlider/RangeSlider.js +2 -2
- package/cjs/Satellite/Satellite.d.ts +1 -0
- package/cjs/Satellite/Satellite.js +3 -1
- package/cjs/Satellite/SatelliteContext.d.ts +1 -0
- package/cjs/Satellite/index.d.ts +1 -0
- package/cjs/Satellite/index.js +14 -0
- package/cjs/Satellite/locale.d.ts +5 -3
- package/cjs/Satellite/useCreatePortal.d.ts +4 -0
- package/cjs/Satellite/useCreatePortal.js +29 -0
- package/cjs/ScrollIndicator/ScrollIndicator.js +5 -4
- package/cjs/Select/Select.js +2 -2
- package/cjs/Sidebar/Sidebar.d.ts +33 -12
- package/cjs/Sidebar/Sidebar.js +49 -39
- package/cjs/Sidebar/SidebarButtonLink.d.ts +14 -0
- package/cjs/Sidebar/SidebarButtonLink.js +110 -0
- package/cjs/Sidebar/SidebarContext.d.ts +7 -8
- package/cjs/Sidebar/SidebarContext.js +10 -11
- package/cjs/Sidebar/SidebarHeader.d.ts +6 -0
- package/cjs/Sidebar/SidebarHeader.js +29 -0
- package/cjs/Sidebar/SidebarHeading.d.ts +7 -0
- package/cjs/Sidebar/SidebarHeading.js +37 -0
- package/cjs/Sidebar/SidebarLink.d.ts +8 -0
- package/cjs/Sidebar/SidebarLink.js +58 -0
- package/cjs/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.d.ts +8 -0
- package/cjs/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.js +47 -0
- package/cjs/Sidebar/SidebarLinksGroup/SidebarGroupLink.d.ts +7 -0
- package/cjs/Sidebar/{components/SidebarHeader.js → SidebarLinksGroup/SidebarGroupLink.js} +14 -23
- package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +23 -0
- package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +120 -0
- package/cjs/Sidebar/SidebarLinksGroup/index.d.ts +2 -0
- package/cjs/Sidebar/SidebarLinksGroup/index.js +18 -0
- package/cjs/Sidebar/SidebarLinksGroup/types.d.ts +10 -0
- package/cjs/Sidebar/SidebarLinksGroup/types.js +5 -0
- package/cjs/Sidebar/SidebarNav.d.ts +10 -0
- package/cjs/Sidebar/SidebarNav.js +48 -0
- package/cjs/Sidebar/index.d.ts +7 -4
- package/cjs/Sidebar/index.js +61 -21
- package/cjs/Sidebar/types.d.ts +6 -2
- package/cjs/Switch/Switch.js +2 -2
- package/cjs/Tables/DataTable/DataTable.js +30 -21
- package/cjs/Tables/DataTable/DataTable.tailwind.js +3 -0
- package/cjs/Tables/DataTable/components/HeaderCell.d.ts +1 -0
- package/cjs/Tables/DataTable/components/HeaderCell.js +20 -10
- package/cjs/Tables/Table/Table.js +2 -2
- package/cjs/Tables/Table/components/Footer.js +2 -2
- package/cjs/Tabs/ContentTabs.js +3 -3
- package/cjs/Tabs/LinkTabs.js +2 -2
- package/cjs/Tabs/Tabs.tailwind.js +8 -8
- package/cjs/Tabs/components/LinkTab.js +9 -11
- package/cjs/Tag/Tag.js +5 -6
- package/cjs/TextArea/TextArea.js +2 -2
- package/cjs/Toggle/Toggle.js +2 -2
- package/cjs/Tooltip/OverflowTooltipWrapper.js +8 -7
- package/cjs/Tooltip/Tooltip.js +2 -2
- package/cjs/Tooltip/TooltipWrapper.js +8 -7
- package/cjs/UserContent/UserContent.js +2 -2
- package/cjs/UserContent/UserContent.tailwind.js +1 -1
- package/cjs/index.d.ts +0 -1
- package/cjs/index.js +0 -14
- package/cjs/styles/tailwind.config.js +1 -1
- package/cjs/utils/onlyText.d.ts +3 -0
- package/cjs/utils/onlyText.js +49 -0
- package/cjs/utils/useLinkProps.d.ts +5 -2
- package/cjs/utils/useLinkProps.js +9 -2
- package/esm/AnnouncementBadge/AnnouncementBadge.js +1 -1
- package/esm/AutoComplete/AutoComplete.js +4 -2
- package/esm/Avatars/ApplicationAvatar.js +3 -1
- package/esm/Avatars/UserAvatar.js +7 -4
- package/esm/Avatars/utils.js +12 -4
- package/esm/Badge/Badge.js +6 -6
- package/esm/Banners/Alert/Alert.js +1 -1
- package/esm/Banners/Promote/Promote.js +1 -1
- package/esm/Button/Button.js +1 -1
- package/esm/Button/Button.tailwind.js +7 -7
- package/esm/Button/ButtonGroup.js +1 -1
- package/esm/Button/IconButton.js +1 -1
- package/esm/Card/Card.js +1 -1
- package/esm/Card/components/CardHeader.js +1 -1
- package/esm/Card/components/CardTitle.js +1 -1
- package/esm/Checkbox/Checkbox.d.ts +1 -1
- package/esm/Checkbox/Checkbox.js +1 -1
- package/esm/DatePicker/DatePicker.tailwind.js +13 -13
- package/esm/DatePicker/components/Modal.js +5 -4
- package/esm/DatePicker/components/NavBar.js +2 -2
- package/esm/Dropdown/Dropdown.js +5 -4
- package/esm/Dropdown/components/DropdownButtonItem.js +3 -3
- package/esm/Dropdown/components/DropdownFooterItem.js +1 -1
- package/esm/Dropdown/components/DropdownLinkItem.js +1 -2
- package/esm/Dropdown/components/DropdownTitle.js +1 -1
- package/esm/Dropdown/components/DropdownToggleItem.js +1 -1
- package/esm/Dropdown/useDropdownItemProps.d.ts +9 -1
- package/esm/Dropdown/useDropdownItemProps.js +16 -8
- package/esm/Dropzone/Dropzone.js +2 -2
- package/esm/EmptyState/EmptyState.js +1 -1
- package/esm/Field/Field.js +1 -1
- package/esm/Flag/Flag.js +1 -1
- package/esm/Flag/Flags.d.ts +1 -1
- package/esm/Flag/Flags.js +4 -3
- package/esm/FlexGrid/FlexGrid.js +1 -1
- package/esm/HelpUnderline/HelpUnderline.js +1 -1
- package/esm/Input/Input.js +1 -1
- package/esm/Insert/Insert.js +2 -0
- package/esm/KeyboardKey/KeyboardKey.js +1 -1
- package/esm/Link/ButtonLink.js +1 -10
- package/esm/Link/Link.js +1 -1
- package/esm/Medallion/Medallion.js +2 -1
- package/esm/Modal/Modal.d.ts +1 -1
- package/esm/Modal/Modal.js +5 -5
- package/esm/Modal/components/ModalFooter.js +1 -1
- package/esm/Modal/components/ModalSection.js +1 -1
- package/esm/ProgressBar/ProgressBar.js +1 -1
- package/esm/ProgressSpinner/ProgressSpinner.js +1 -1
- package/esm/RadioGroup/RadioButton.js +1 -1
- package/esm/RangeSlider/RangeSlider.js +1 -1
- package/esm/Satellite/Satellite.d.ts +1 -0
- package/esm/Satellite/Satellite.js +3 -1
- package/esm/Satellite/SatelliteContext.d.ts +1 -0
- package/esm/Satellite/index.d.ts +1 -0
- package/esm/Satellite/index.js +1 -0
- package/esm/Satellite/locale.d.ts +5 -3
- package/esm/Satellite/useCreatePortal.d.ts +4 -0
- package/esm/Satellite/useCreatePortal.js +16 -0
- package/esm/ScrollIndicator/ScrollIndicator.js +3 -2
- package/esm/Select/Select.js +1 -1
- package/esm/Sidebar/Sidebar.d.ts +33 -12
- package/esm/Sidebar/Sidebar.js +45 -30
- package/esm/Sidebar/SidebarButtonLink.d.ts +14 -0
- package/esm/Sidebar/SidebarButtonLink.js +92 -0
- package/esm/Sidebar/SidebarContext.d.ts +7 -8
- package/esm/Sidebar/SidebarContext.js +9 -8
- package/esm/Sidebar/SidebarHeader.d.ts +6 -0
- package/esm/Sidebar/SidebarHeader.js +15 -0
- package/esm/Sidebar/SidebarHeading.d.ts +7 -0
- package/esm/Sidebar/SidebarHeading.js +22 -0
- package/esm/Sidebar/SidebarLink.d.ts +8 -0
- package/esm/Sidebar/SidebarLink.js +42 -0
- package/esm/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.d.ts +8 -0
- package/esm/Sidebar/SidebarLinksGroup/ActiveLinkIndicator.js +32 -0
- package/esm/Sidebar/SidebarLinksGroup/SidebarGroupLink.d.ts +7 -0
- package/esm/Sidebar/{components/SidebarHeader.js → SidebarLinksGroup/SidebarGroupLink.js} +13 -19
- package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +23 -0
- package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +100 -0
- package/esm/Sidebar/SidebarLinksGroup/index.d.ts +2 -0
- package/esm/Sidebar/SidebarLinksGroup/index.js +2 -0
- package/esm/Sidebar/SidebarLinksGroup/types.d.ts +10 -0
- package/esm/Sidebar/SidebarLinksGroup/types.js +1 -0
- package/esm/Sidebar/SidebarNav.d.ts +10 -0
- package/esm/Sidebar/SidebarNav.js +33 -0
- package/esm/Sidebar/index.d.ts +7 -4
- package/esm/Sidebar/index.js +7 -4
- package/esm/Sidebar/types.d.ts +6 -2
- package/esm/Switch/Switch.js +1 -1
- package/esm/Tables/DataTable/DataTable.js +29 -21
- package/esm/Tables/DataTable/DataTable.tailwind.js +3 -0
- package/esm/Tables/DataTable/components/HeaderCell.d.ts +1 -0
- package/esm/Tables/DataTable/components/HeaderCell.js +20 -10
- package/esm/Tables/Table/Table.js +1 -1
- package/esm/Tables/Table/components/Footer.js +1 -1
- package/esm/Tabs/ContentTabs.js +1 -1
- package/esm/Tabs/LinkTabs.js +1 -1
- package/esm/Tabs/Tabs.tailwind.js +8 -8
- package/esm/Tabs/components/LinkTab.js +8 -10
- package/esm/Tag/Tag.js +3 -4
- package/esm/TextArea/TextArea.js +1 -1
- package/esm/Toggle/Toggle.js +1 -1
- package/esm/Tooltip/OverflowTooltipWrapper.js +5 -4
- package/esm/Tooltip/Tooltip.js +1 -1
- package/esm/Tooltip/TooltipWrapper.js +5 -4
- package/esm/UserContent/UserContent.js +1 -1
- package/esm/UserContent/UserContent.tailwind.js +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.js +0 -1
- package/esm/styles/tailwind.config.js +1 -1
- package/esm/utils/onlyText.d.ts +3 -0
- package/esm/utils/onlyText.js +41 -0
- package/esm/utils/useLinkProps.d.ts +5 -2
- package/esm/utils/useLinkProps.js +9 -2
- package/package.json +5 -4
- package/satellite.min.css +1 -1
- package/cjs/Banner/Banner.d.ts +0 -86
- package/cjs/Banner/Banner.js +0 -176
- package/cjs/Banner/index.d.ts +0 -2
- package/cjs/Banner/index.js +0 -32
- package/cjs/Sidebar/Sidebar.tailwind.d.ts +0 -5
- package/cjs/Sidebar/Sidebar.tailwind.js +0 -66
- package/cjs/Sidebar/components/SidebarHeader.d.ts +0 -5
- package/cjs/Sidebar/components/SidebarLink.d.ts +0 -10
- package/cjs/Sidebar/components/SidebarLink.js +0 -98
- package/esm/Banner/Banner.d.ts +0 -86
- package/esm/Banner/Banner.js +0 -161
- package/esm/Banner/index.d.ts +0 -2
- package/esm/Banner/index.js +0 -2
- package/esm/Sidebar/Sidebar.tailwind.d.ts +0 -5
- package/esm/Sidebar/Sidebar.tailwind.js +0 -64
- package/esm/Sidebar/components/SidebarHeader.d.ts +0 -5
- package/esm/Sidebar/components/SidebarLink.d.ts +0 -10
- package/esm/Sidebar/components/SidebarLink.js +0 -78
@@ -0,0 +1,110 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.SidebarButtonLink = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
|
+
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
15
|
+
|
16
|
+
var _react = require("react");
|
17
|
+
|
18
|
+
var _Link = require("../Link");
|
19
|
+
|
20
|
+
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
21
|
+
|
22
|
+
var _Tooltip = require("../Tooltip");
|
23
|
+
|
24
|
+
var _useLinkProps = _interopRequireDefault(require("../utils/useLinkProps"));
|
25
|
+
|
26
|
+
var _SidebarContext = require("./SidebarContext");
|
27
|
+
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
29
|
+
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
31
|
+
|
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; }
|
33
|
+
|
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; }
|
35
|
+
|
36
|
+
var Tooltip = function Tooltip(_ref) {
|
37
|
+
var title = _ref.title,
|
38
|
+
children = _ref.children;
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.TooltipWrapper, {
|
40
|
+
placement: "right",
|
41
|
+
delay: 0,
|
42
|
+
hideDelay: 0,
|
43
|
+
modifiers: [{
|
44
|
+
name: "offset",
|
45
|
+
options: {
|
46
|
+
offset: [0, 32]
|
47
|
+
}
|
48
|
+
}],
|
49
|
+
content: title,
|
50
|
+
wrapperClassName: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["block"]))),
|
51
|
+
interactive: false,
|
52
|
+
children: children
|
53
|
+
});
|
54
|
+
};
|
55
|
+
|
56
|
+
var SidebarButtonLink = function SidebarButtonLink(_ref2) {
|
57
|
+
var id = _ref2.id,
|
58
|
+
icon = _ref2.icon,
|
59
|
+
href = _ref2.href,
|
60
|
+
children = _ref2.children,
|
61
|
+
onClick = _ref2.onClick;
|
62
|
+
|
63
|
+
var _useSidebarContext = (0, _SidebarContext.useSidebarContext)(),
|
64
|
+
isLinkActive = _useSidebarContext.isLinkActive,
|
65
|
+
collapsed = _useSidebarContext.collapsed;
|
66
|
+
|
67
|
+
var linkProps = (0, _useLinkProps["default"])({
|
68
|
+
href: href,
|
69
|
+
onClick: onClick
|
70
|
+
});
|
71
|
+
|
72
|
+
var _useState = (0, _react.useState)(false),
|
73
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
74
|
+
isInteractedWith = _useState2[0],
|
75
|
+
setIsInteractedWith = _useState2[1];
|
76
|
+
|
77
|
+
var isActive = isLinkActive(href);
|
78
|
+
var showColors = isActive || isInteractedWith;
|
79
|
+
var Icon = "active" in icon ? showColors ? icon.active : icon.inactive : icon;
|
80
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, {
|
81
|
+
title: collapsed ? children : null,
|
82
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Link.BaseLink, _objectSpread(_objectSpread({}, linkProps), {}, {
|
83
|
+
id: id,
|
84
|
+
onMouseEnter: function onMouseEnter() {
|
85
|
+
return setIsInteractedWith(true);
|
86
|
+
},
|
87
|
+
onFocus: function onFocus() {
|
88
|
+
return setIsInteractedWith(true);
|
89
|
+
},
|
90
|
+
onMouseLeave: function onMouseLeave() {
|
91
|
+
return setIsInteractedWith(false);
|
92
|
+
},
|
93
|
+
onBlur: function onBlur() {
|
94
|
+
return setIsInteractedWith(false);
|
95
|
+
},
|
96
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n h-8 min-w-8 w-full rounded\n flex items-center space-x-3\n border border-transparent\n display-body hover:no-underline\n focus:outline-none focus:border-grey-500\n ", "\n ", "\n ", "\n "])), isActive ? "shadow-z100" : "hover:border-grey-200", isActive && "bg-gradient-to-b from-white to-grey-50", collapsed ? "pl-2" : "px-2"),
|
97
|
+
"aria-current": isActive,
|
98
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
99
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["", " ml-[-3px]"])), showColors ? "text-accent-600" : "text-grey-400"),
|
100
|
+
height: 20,
|
101
|
+
width: 20
|
102
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
103
|
+
className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n ", "\n "])), collapsed && "sr-only", showColors ? "text-accent-600" : "typo-subdued", isActive && "font-bold"),
|
104
|
+
children: children
|
105
|
+
})]
|
106
|
+
}))
|
107
|
+
});
|
108
|
+
};
|
109
|
+
|
110
|
+
exports.SidebarButtonLink = SidebarButtonLink;
|
@@ -1,10 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import type {
|
3
|
-
export
|
2
|
+
import type { SidebarVariant } from "./types";
|
3
|
+
export declare type SidebarContextType = {
|
4
4
|
variant: SidebarVariant;
|
5
|
-
collapsed:
|
6
|
-
|
7
|
-
|
8
|
-
export declare const SidebarContext: import("react").Context<
|
9
|
-
export declare const useSidebarContext: () =>
|
10
|
-
export default SidebarContext;
|
5
|
+
collapsed: boolean;
|
6
|
+
isLinkActive: (href: string) => boolean;
|
7
|
+
};
|
8
|
+
export declare const SidebarContext: import("react").Context<SidebarContextType | null>;
|
9
|
+
export declare const useSidebarContext: () => SidebarContextType;
|
@@ -3,22 +3,21 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.useSidebarContext = exports
|
6
|
+
exports.useSidebarContext = exports.SidebarContext = void 0;
|
7
7
|
|
8
8
|
var _react = require("react");
|
9
9
|
|
10
|
-
var
|
11
|
-
variant: "dark",
|
12
|
-
collapsed: false
|
13
|
-
};
|
14
|
-
exports.SIDEBAR_CONTEXT_DEFAULT = SIDEBAR_CONTEXT_DEFAULT;
|
15
|
-
var SidebarContext = /*#__PURE__*/(0, _react.createContext)(SIDEBAR_CONTEXT_DEFAULT);
|
10
|
+
var SidebarContext = /*#__PURE__*/(0, _react.createContext)(null);
|
16
11
|
exports.SidebarContext = SidebarContext;
|
17
12
|
|
18
13
|
var useSidebarContext = function useSidebarContext() {
|
19
|
-
|
14
|
+
var context = (0, _react.useContext)(SidebarContext);
|
15
|
+
|
16
|
+
if (!context) {
|
17
|
+
throw new Error("useSidebarContext used outside of Sidebar");
|
18
|
+
}
|
19
|
+
|
20
|
+
return context;
|
20
21
|
};
|
21
22
|
|
22
|
-
exports.useSidebarContext = useSidebarContext;
|
23
|
-
var _default = SidebarContext;
|
24
|
-
exports["default"] = _default;
|
23
|
+
exports.useSidebarContext = useSidebarContext;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.SidebarHeader = void 0;
|
9
|
+
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
11
|
+
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
13
|
+
|
14
|
+
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
15
|
+
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
17
|
+
|
18
|
+
var _templateObject;
|
19
|
+
|
20
|
+
var SidebarHeader = function SidebarHeader(_ref) {
|
21
|
+
var className = _ref.className,
|
22
|
+
children = _ref.children;
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("header", {
|
24
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["h-[72px] shrink-0 border-b border-grey-200/50"]))), className),
|
25
|
+
children: children
|
26
|
+
});
|
27
|
+
};
|
28
|
+
|
29
|
+
exports.SidebarHeader = SidebarHeader;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.SidebarHeading = void 0;
|
9
|
+
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
11
|
+
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
13
|
+
|
14
|
+
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
15
|
+
|
16
|
+
var _SidebarContext = require("./SidebarContext");
|
17
|
+
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
19
|
+
|
20
|
+
var _templateObject;
|
21
|
+
|
22
|
+
var SidebarHeading = function SidebarHeading(_ref) {
|
23
|
+
var id = _ref.id,
|
24
|
+
className = _ref.className,
|
25
|
+
children = _ref.children;
|
26
|
+
|
27
|
+
var _useSidebarContext = (0, _SidebarContext.useSidebarContext)(),
|
28
|
+
collapsed = _useSidebarContext.collapsed;
|
29
|
+
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
31
|
+
id: id,
|
32
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n h-8 block leading-[2rem]\n display-subheading typo-subdued uppercase select-none\n ", "\n "])), collapsed && "invisible"), className),
|
33
|
+
children: children
|
34
|
+
});
|
35
|
+
};
|
36
|
+
|
37
|
+
exports.SidebarHeading = SidebarHeading;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { FC, ReactNode } from "react";
|
2
|
+
import type { IconComponentType } from "../types";
|
3
|
+
export declare type SidebarLinkProps = {
|
4
|
+
icon: IconComponentType;
|
5
|
+
disabled?: boolean;
|
6
|
+
children: ReactNode;
|
7
|
+
} & Pick<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "id" | "className" | "href" | "target" | "rel" | "aria-label" | "onClick">;
|
8
|
+
export declare const SidebarLink: FC<SidebarLinkProps>;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.SidebarLink = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
13
|
+
|
14
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
15
|
+
|
16
|
+
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
17
|
+
|
18
|
+
var _useLinkProps = _interopRequireDefault(require("../utils/useLinkProps"));
|
19
|
+
|
20
|
+
var _SidebarContext = require("./SidebarContext");
|
21
|
+
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
23
|
+
|
24
|
+
var _templateObject, _templateObject2, _templateObject3;
|
25
|
+
|
26
|
+
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; }
|
27
|
+
|
28
|
+
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; }
|
29
|
+
|
30
|
+
var SidebarLink = function SidebarLink(props) {
|
31
|
+
var _linkProps$href;
|
32
|
+
|
33
|
+
var _useSidebarContext = (0, _SidebarContext.useSidebarContext)(),
|
34
|
+
isLinkActive = _useSidebarContext.isLinkActive;
|
35
|
+
|
36
|
+
var id = props.id,
|
37
|
+
className = props.className,
|
38
|
+
disabled = props.disabled,
|
39
|
+
Icon = props.icon,
|
40
|
+
children = props.children;
|
41
|
+
var linkProps = (0, _useLinkProps["default"])(props);
|
42
|
+
var isActive = !disabled && isLinkActive((_linkProps$href = linkProps.href) !== null && _linkProps$href !== void 0 ? _linkProps$href : "");
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", _objectSpread(_objectSpread({}, linkProps), {}, {
|
44
|
+
id: id,
|
45
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n flex items-center\n group hover:no-underline focus:outline-none\n ", "\n "])), disabled ? "cursor-not-allowed" : "cursor-pointer"), className),
|
46
|
+
"aria-current": isActive,
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
48
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 mr-3 ", ""])), disabled ? "text-grey-300" : "text-grey-500"),
|
49
|
+
width: "1rem",
|
50
|
+
height: "1rem"
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
52
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\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"),
|
53
|
+
children: children
|
54
|
+
})]
|
55
|
+
}));
|
56
|
+
};
|
57
|
+
|
58
|
+
exports.SidebarLink = SidebarLink;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.ActiveLinkIndicator = void 0;
|
9
|
+
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
11
|
+
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
13
|
+
|
14
|
+
var _satellitePrefixer = _interopRequireDefault(require("../../styles/helpers/satellitePrefixer"));
|
15
|
+
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
17
|
+
|
18
|
+
var _templateObject, _templateObject2, _templateObject3;
|
19
|
+
|
20
|
+
var LINK_HEIGHT_PX = 24;
|
21
|
+
var LINKS_SPACING_PX = 8;
|
22
|
+
|
23
|
+
var ActiveLinkIndicator = function ActiveLinkIndicator(_ref) {
|
24
|
+
var className = _ref.className,
|
25
|
+
activeIndex = _ref.activeIndex,
|
26
|
+
linksCount = _ref.linksCount;
|
27
|
+
var showIndicator = typeof activeIndex === "number" && activeIndex >= 0;
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
29
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["w-4 flex justify-center"]))), className),
|
30
|
+
style: {
|
31
|
+
height: linksCount * LINK_HEIGHT_PX + (linksCount - 1) * LINKS_SPACING_PX
|
32
|
+
},
|
33
|
+
"aria-hidden": true,
|
34
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
35
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["w-px h-full bg-grey-200"]))),
|
36
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
37
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n w-px bg-accent-500\n transition-transform duration-100 ease-in-out\n ", "\n "])), showIndicator ? "visible" : "hidden"),
|
38
|
+
style: {
|
39
|
+
height: LINK_HEIGHT_PX,
|
40
|
+
transform: typeof activeIndex === "number" ? "translateY(".concat(activeIndex * (LINK_HEIGHT_PX + LINKS_SPACING_PX), "px)") : undefined
|
41
|
+
}
|
42
|
+
})
|
43
|
+
})
|
44
|
+
});
|
45
|
+
};
|
46
|
+
|
47
|
+
exports.ActiveLinkIndicator = ActiveLinkIndicator;
|
@@ -5,45 +5,36 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports
|
8
|
+
exports.SidebarGroupLink = void 0;
|
9
9
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
11
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
13
13
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
15
|
-
|
16
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
17
|
-
|
18
14
|
var _satellitePrefixer = _interopRequireDefault(require("../../styles/helpers/satellitePrefixer"));
|
19
15
|
|
20
|
-
var
|
16
|
+
var _useLinkProps = _interopRequireDefault(require("../../utils/useLinkProps"));
|
21
17
|
|
22
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
23
19
|
|
24
20
|
var _templateObject;
|
25
21
|
|
26
|
-
var _excluded = ["className", "children"];
|
27
|
-
|
28
22
|
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; }
|
29
23
|
|
30
24
|
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; }
|
31
25
|
|
32
|
-
var
|
33
|
-
var
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
var
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
children: children
|
26
|
+
var SidebarGroupLink = function SidebarGroupLink(props) {
|
27
|
+
var label = props.label,
|
28
|
+
active = props.active,
|
29
|
+
id = props.id,
|
30
|
+
disabled = props.disabled;
|
31
|
+
var linkProps = (0, _useLinkProps["default"])(props);
|
32
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({}, linkProps), {}, {
|
33
|
+
id: id,
|
34
|
+
className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\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"),
|
35
|
+
"aria-current": active,
|
36
|
+
children: label
|
44
37
|
}));
|
45
38
|
};
|
46
39
|
|
47
|
-
exports.
|
48
|
-
var _default = SidebarHeader;
|
49
|
-
exports["default"] = _default;
|
40
|
+
exports.SidebarGroupLink = SidebarGroupLink;
|
@@ -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,120 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.SidebarLinksGroup = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
13
|
+
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
15
|
+
|
16
|
+
var _lodash = require("lodash");
|
17
|
+
|
18
|
+
var _react = require("react");
|
19
|
+
|
20
|
+
var _reactFeather = require("react-feather");
|
21
|
+
|
22
|
+
var _usePrevious = _interopRequireDefault(require("react-use/lib/usePrevious"));
|
23
|
+
|
24
|
+
var _satellitePrefixer = _interopRequireDefault(require("../../styles/helpers/satellitePrefixer"));
|
25
|
+
|
26
|
+
var _SidebarContext = require("../SidebarContext");
|
27
|
+
|
28
|
+
var _ActiveLinkIndicator = require("./ActiveLinkIndicator");
|
29
|
+
|
30
|
+
var _SidebarGroupLink = require("./SidebarGroupLink");
|
31
|
+
|
32
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
33
|
+
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
35
|
+
|
36
|
+
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; }
|
37
|
+
|
38
|
+
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; }
|
39
|
+
|
40
|
+
var isCollapsibleSidebarLinksGroupProps = function isCollapsibleSidebarLinksGroupProps(props) {
|
41
|
+
return "title" in props && "icon" in props;
|
42
|
+
};
|
43
|
+
|
44
|
+
var SidebarLinksGroup = function SidebarLinksGroup(props) {
|
45
|
+
var _useSidebarContext = (0, _SidebarContext.useSidebarContext)(),
|
46
|
+
isLinkActive = _useSidebarContext.isLinkActive;
|
47
|
+
|
48
|
+
var id = props.id,
|
49
|
+
className = props.className,
|
50
|
+
links = props.links;
|
51
|
+
var contentId = (0, _react.useMemo)(function () {
|
52
|
+
return (0, _lodash.uniqueId)("links-group-");
|
53
|
+
}, []);
|
54
|
+
var activeLinkIndex = links.findIndex(function (link) {
|
55
|
+
return !link.disabled && isLinkActive(link.href);
|
56
|
+
});
|
57
|
+
var previousActiveLinkIndex = (0, _usePrevious["default"])(activeLinkIndex);
|
58
|
+
var hasMatchingLink = activeLinkIndex >= 0;
|
59
|
+
|
60
|
+
var _useState = (0, _react.useState)(!isCollapsibleSidebarLinksGroupProps(props) || hasMatchingLink || props.initialIsOpen !== false),
|
61
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
62
|
+
isOpen = _useState2[0],
|
63
|
+
setIsOpen = _useState2[1];
|
64
|
+
|
65
|
+
(0, _react.useEffect)(function () {
|
66
|
+
if (isCollapsibleSidebarLinksGroupProps(props)) {
|
67
|
+
var _props$onGroupToggle;
|
68
|
+
|
69
|
+
(_props$onGroupToggle = props.onGroupToggle) === null || _props$onGroupToggle === void 0 ? void 0 : _props$onGroupToggle.call(props, isOpen);
|
70
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
71
|
+
|
72
|
+
}, [isOpen]);
|
73
|
+
(0, _react.useEffect)(function () {
|
74
|
+
if (!isOpen && activeLinkIndex >= 0 && typeof previousActiveLinkIndex === "number" && activeLinkIndex !== previousActiveLinkIndex) {
|
75
|
+
setIsOpen(true);
|
76
|
+
}
|
77
|
+
}, [activeLinkIndex, previousActiveLinkIndex, isOpen]);
|
78
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
79
|
+
id: id,
|
80
|
+
className: className,
|
81
|
+
children: [isCollapsibleSidebarLinksGroupProps(props) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
82
|
+
className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n flex w-full text-left items-center mb-4 overflow-hidden focus:outline-none group cursor-pointer"]))),
|
83
|
+
onClick: function onClick() {
|
84
|
+
return setIsOpen(!isOpen);
|
85
|
+
},
|
86
|
+
"aria-expanded": isOpen,
|
87
|
+
"aria-controls": contentId,
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(props.icon, {
|
89
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 text-grey-500 mr-3"]))),
|
90
|
+
size: "1rem"
|
91
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
92
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["truncate display-subheading uppercase text-grey-800 group-hover:text-accent-500 mr-2"]))),
|
93
|
+
children: props.title
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFeather.ChevronRight, {
|
95
|
+
className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 text-grey-500 transition-all duration-150 ease-in-out ", ""])), isOpen && "rotate-90"),
|
96
|
+
size: "1rem"
|
97
|
+
})]
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
99
|
+
id: contentId,
|
100
|
+
className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["flex ", ""])), !isOpen && "hidden"),
|
101
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActiveLinkIndicator.ActiveLinkIndicator, {
|
102
|
+
className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 mr-3"]))),
|
103
|
+
activeIndex: activeLinkIndex,
|
104
|
+
linksCount: links.length
|
105
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
106
|
+
className: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["flex-1 space-y-2 overflow-hidden"]))),
|
107
|
+
children: links.map(function (link, idx) {
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
109
|
+
className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["truncate"]))),
|
110
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SidebarGroupLink.SidebarGroupLink, _objectSpread(_objectSpread({}, link), {}, {
|
111
|
+
active: activeLinkIndex === idx
|
112
|
+
}))
|
113
|
+
}, "".concat(idx, "-").concat(link.href));
|
114
|
+
})
|
115
|
+
})]
|
116
|
+
})]
|
117
|
+
});
|
118
|
+
};
|
119
|
+
|
120
|
+
exports.SidebarLinksGroup = SidebarLinksGroup;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _SidebarLinksGroup = require("./SidebarLinksGroup");
|
8
|
+
|
9
|
+
Object.keys(_SidebarLinksGroup).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _SidebarLinksGroup[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function get() {
|
15
|
+
return _SidebarLinksGroup[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
@@ -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,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>;
|