@algolia/satellite 1.0.0-beta.173 → 1.0.0-beta.174

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 (192) hide show
  1. package/cjs/AutoComplete/components/AutoCompleteEmptyState.d.ts +1 -1
  2. package/cjs/AutoComplete/types.d.ts +1 -1
  3. package/cjs/Badge/Badge.d.ts +2 -1
  4. package/cjs/Banners/Alert/Alert.d.ts +2 -1
  5. package/cjs/Banners/BigBertha/BigBertha.d.ts +1 -1
  6. package/cjs/Button/PolymorphicIconButton.d.ts +1 -1
  7. package/cjs/Button/types.d.ts +1 -1
  8. package/cjs/Dropdown/components/DropdownButtonItem.d.ts +1 -1
  9. package/cjs/Dropdown/components/DropdownLinkItem.d.ts +1 -1
  10. package/cjs/Dropdown/components/DropdownToggleItem.d.ts +1 -1
  11. package/cjs/Flag/types.d.ts +1 -1
  12. package/cjs/Icons/AlgoliaRecommendIcon.d.ts +3 -0
  13. package/cjs/Icons/AlgoliaRecommendIcon.js +46 -0
  14. package/cjs/Icons/AlgoliaSearchIcon.d.ts +3 -0
  15. package/cjs/Icons/AlgoliaSearchIcon.js +49 -0
  16. package/cjs/Icons/BulbIcon.d.ts +3 -0
  17. package/cjs/Icons/BulbIcon.js +37 -0
  18. package/cjs/Icons/ContextIcon.d.ts +3 -0
  19. package/cjs/Icons/ContextIcon.js +51 -0
  20. package/cjs/Icons/CrawlerIcon.d.ts +3 -0
  21. package/cjs/Icons/CrawlerIcon.js +40 -0
  22. package/cjs/Icons/DragHandleIcon.d.ts +3 -0
  23. package/cjs/Icons/DragHandleIcon.js +58 -0
  24. package/cjs/Icons/NeuralSearchIcon.d.ts +3 -0
  25. package/cjs/Icons/NeuralSearchIcon.js +34 -0
  26. package/cjs/Icons/NoFiltersIcon.d.ts +3 -0
  27. package/cjs/Icons/NoFiltersIcon.js +59 -0
  28. package/cjs/Icons/PinIcon.d.ts +3 -0
  29. package/cjs/Icons/PinIcon.js +60 -0
  30. package/cjs/Icons/QueryBreakdownIcon.d.ts +3 -0
  31. package/cjs/Icons/QueryBreakdownIcon.js +39 -0
  32. package/cjs/Icons/RocketIcon.d.ts +3 -0
  33. package/cjs/Icons/RocketIcon.js +36 -0
  34. package/cjs/Icons/SettingsCategoryPagesIcon.d.ts +3 -0
  35. package/cjs/Icons/SettingsCategoryPagesIcon.js +36 -0
  36. package/cjs/Icons/SettingsConsequencesIcon.d.ts +3 -0
  37. package/cjs/Icons/SettingsConsequencesIcon.js +70 -0
  38. package/cjs/Icons/TestingIcon.d.ts +3 -0
  39. package/cjs/Icons/TestingIcon.js +36 -0
  40. package/cjs/Icons/UnpinIcon.d.ts +3 -0
  41. package/cjs/Icons/UnpinIcon.js +60 -0
  42. package/cjs/Icons/WorkspaceSwitcherIcon.d.ts +3 -0
  43. package/cjs/Icons/WorkspaceSwitcherIcon.js +34 -0
  44. package/cjs/Icons/index.d.ts +20 -0
  45. package/cjs/Icons/index.js +1840 -0
  46. package/cjs/Icons/utils.d.ts +1 -0
  47. package/cjs/Icons/utils.js +10 -0
  48. package/cjs/Input/Input.d.ts +1 -1
  49. package/cjs/Link/Link.d.ts +1 -1
  50. package/cjs/Medallion/Medallion.d.ts +1 -1
  51. package/cjs/MenuButton/MenuButton.d.ts +25 -0
  52. package/cjs/MenuButton/MenuButton.js +72 -0
  53. package/cjs/MenuButton/components/CustomTrigger.d.ts +5 -0
  54. package/cjs/MenuButton/components/CustomTrigger.js +24 -0
  55. package/cjs/MenuButton/components/DefaultTrigger.d.ts +5 -0
  56. package/cjs/MenuButton/components/DefaultTrigger.js +32 -0
  57. package/cjs/MenuButton/components/Divider.d.ts +3 -0
  58. package/cjs/MenuButton/components/Divider.js +21 -0
  59. package/cjs/MenuButton/components/Label.d.ts +4 -0
  60. package/cjs/MenuButton/components/Label.js +32 -0
  61. package/cjs/MenuButton/components/collapsible/CollapsibleItem.d.ts +9 -0
  62. package/cjs/MenuButton/components/collapsible/CollapsibleItem.js +64 -0
  63. package/cjs/MenuButton/components/collapsible/CollapsibleItemsGroup.d.ts +6 -0
  64. package/cjs/MenuButton/components/collapsible/CollapsibleItemsGroup.js +20 -0
  65. package/cjs/MenuButton/components/collapsible/CollapsibleItemsGroupContext.d.ts +7 -0
  66. package/cjs/MenuButton/components/collapsible/CollapsibleItemsGroupContext.js +15 -0
  67. package/cjs/MenuButton/components/collapsible/CollapsibleItemsMultipleGroup.d.ts +8 -0
  68. package/cjs/MenuButton/components/collapsible/CollapsibleItemsMultipleGroup.js +36 -0
  69. package/cjs/MenuButton/components/collapsible/CollapsibleItemsSingleGroup.d.ts +8 -0
  70. package/cjs/MenuButton/components/collapsible/CollapsibleItemsSingleGroup.js +33 -0
  71. package/cjs/MenuButton/components/collapsible/index.d.ts +5 -0
  72. package/cjs/MenuButton/components/collapsible/index.js +60 -0
  73. package/cjs/MenuButton/components/items/ButtonItem.d.ts +14 -0
  74. package/cjs/MenuButton/components/items/ButtonItem.js +46 -0
  75. package/cjs/MenuButton/components/items/LinkItem.d.ts +10 -0
  76. package/cjs/MenuButton/components/items/LinkItem.js +69 -0
  77. package/cjs/MenuButton/components/items/RadioItem.d.ts +6 -0
  78. package/cjs/MenuButton/components/items/RadioItem.js +50 -0
  79. package/cjs/MenuButton/components/items/ToggleItem.d.ts +9 -0
  80. package/cjs/MenuButton/components/items/ToggleItem.js +72 -0
  81. package/cjs/MenuButton/components/items/index.d.ts +4 -0
  82. package/cjs/MenuButton/components/items/index.js +49 -0
  83. package/cjs/MenuButton/index.d.ts +1 -0
  84. package/cjs/MenuButton/index.js +13 -0
  85. package/cjs/MenuButton/useMenuItemProps.d.ts +11 -0
  86. package/cjs/MenuButton/useMenuItemProps.js +19 -0
  87. package/cjs/Sidebar/SidebarButtonLink.d.ts +1 -1
  88. package/cjs/Sidebar/SidebarLink.d.ts +1 -1
  89. package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +1 -1
  90. package/cjs/index.d.ts +2 -0
  91. package/cjs/index.js +24 -0
  92. package/cjs/styles/helpers/icons.js +1 -1
  93. package/cjs/types.d.ts +0 -3
  94. package/cjs/utils/sortObjectAlphabetically.d.ts +1 -0
  95. package/cjs/utils/sortObjectAlphabetically.js +18 -0
  96. package/esm/AutoComplete/components/AutoCompleteEmptyState.d.ts +1 -1
  97. package/esm/AutoComplete/types.d.ts +1 -1
  98. package/esm/Badge/Badge.d.ts +2 -1
  99. package/esm/Banners/Alert/Alert.d.ts +2 -1
  100. package/esm/Banners/BigBertha/BigBertha.d.ts +1 -1
  101. package/esm/Button/PolymorphicIconButton.d.ts +1 -1
  102. package/esm/Button/types.d.ts +1 -1
  103. package/esm/Dropdown/components/DropdownButtonItem.d.ts +1 -1
  104. package/esm/Dropdown/components/DropdownLinkItem.d.ts +1 -1
  105. package/esm/Dropdown/components/DropdownToggleItem.d.ts +1 -1
  106. package/esm/Flag/types.d.ts +1 -1
  107. package/esm/Icons/AlgoliaRecommendIcon.d.ts +3 -0
  108. package/esm/Icons/AlgoliaRecommendIcon.js +40 -0
  109. package/esm/Icons/AlgoliaSearchIcon.d.ts +3 -0
  110. package/esm/Icons/AlgoliaSearchIcon.js +43 -0
  111. package/esm/Icons/BulbIcon.d.ts +3 -0
  112. package/esm/Icons/BulbIcon.js +30 -0
  113. package/esm/Icons/ContextIcon.d.ts +3 -0
  114. package/esm/Icons/ContextIcon.js +45 -0
  115. package/esm/Icons/CrawlerIcon.d.ts +3 -0
  116. package/esm/Icons/CrawlerIcon.js +34 -0
  117. package/esm/Icons/DragHandleIcon.d.ts +3 -0
  118. package/esm/Icons/DragHandleIcon.js +52 -0
  119. package/esm/Icons/NeuralSearchIcon.d.ts +3 -0
  120. package/esm/Icons/NeuralSearchIcon.js +27 -0
  121. package/esm/Icons/NoFiltersIcon.d.ts +3 -0
  122. package/esm/Icons/NoFiltersIcon.js +53 -0
  123. package/esm/Icons/PinIcon.d.ts +3 -0
  124. package/esm/Icons/PinIcon.js +54 -0
  125. package/esm/Icons/QueryBreakdownIcon.d.ts +3 -0
  126. package/esm/Icons/QueryBreakdownIcon.js +33 -0
  127. package/esm/Icons/RocketIcon.d.ts +3 -0
  128. package/esm/Icons/RocketIcon.js +29 -0
  129. package/esm/Icons/SettingsCategoryPagesIcon.d.ts +3 -0
  130. package/esm/Icons/SettingsCategoryPagesIcon.js +29 -0
  131. package/esm/Icons/SettingsConsequencesIcon.d.ts +3 -0
  132. package/esm/Icons/SettingsConsequencesIcon.js +64 -0
  133. package/esm/Icons/TestingIcon.d.ts +3 -0
  134. package/esm/Icons/TestingIcon.js +29 -0
  135. package/esm/Icons/UnpinIcon.d.ts +3 -0
  136. package/esm/Icons/UnpinIcon.js +54 -0
  137. package/esm/Icons/WorkspaceSwitcherIcon.d.ts +3 -0
  138. package/esm/Icons/WorkspaceSwitcherIcon.js +27 -0
  139. package/esm/Icons/index.d.ts +20 -0
  140. package/esm/Icons/index.js +22 -0
  141. package/esm/Icons/utils.d.ts +1 -0
  142. package/esm/Icons/utils.js +4 -0
  143. package/esm/Input/Input.d.ts +1 -1
  144. package/esm/Link/Link.d.ts +1 -1
  145. package/esm/Medallion/Medallion.d.ts +1 -1
  146. package/esm/MenuButton/MenuButton.d.ts +25 -0
  147. package/esm/MenuButton/MenuButton.js +62 -0
  148. package/esm/MenuButton/components/CustomTrigger.d.ts +5 -0
  149. package/esm/MenuButton/components/CustomTrigger.js +14 -0
  150. package/esm/MenuButton/components/DefaultTrigger.d.ts +5 -0
  151. package/esm/MenuButton/components/DefaultTrigger.js +22 -0
  152. package/esm/MenuButton/components/Divider.d.ts +3 -0
  153. package/esm/MenuButton/components/Divider.js +11 -0
  154. package/esm/MenuButton/components/Label.d.ts +4 -0
  155. package/esm/MenuButton/components/Label.js +22 -0
  156. package/esm/MenuButton/components/collapsible/CollapsibleItem.d.ts +9 -0
  157. package/esm/MenuButton/components/collapsible/CollapsibleItem.js +55 -0
  158. package/esm/MenuButton/components/collapsible/CollapsibleItemsGroup.d.ts +6 -0
  159. package/esm/MenuButton/components/collapsible/CollapsibleItemsGroup.js +14 -0
  160. package/esm/MenuButton/components/collapsible/CollapsibleItemsGroupContext.d.ts +7 -0
  161. package/esm/MenuButton/components/collapsible/CollapsibleItemsGroupContext.js +9 -0
  162. package/esm/MenuButton/components/collapsible/CollapsibleItemsMultipleGroup.d.ts +8 -0
  163. package/esm/MenuButton/components/collapsible/CollapsibleItemsMultipleGroup.js +29 -0
  164. package/esm/MenuButton/components/collapsible/CollapsibleItemsSingleGroup.d.ts +8 -0
  165. package/esm/MenuButton/components/collapsible/CollapsibleItemsSingleGroup.js +26 -0
  166. package/esm/MenuButton/components/collapsible/index.d.ts +5 -0
  167. package/esm/MenuButton/components/collapsible/index.js +5 -0
  168. package/esm/MenuButton/components/items/ButtonItem.d.ts +14 -0
  169. package/esm/MenuButton/components/items/ButtonItem.js +37 -0
  170. package/esm/MenuButton/components/items/LinkItem.d.ts +10 -0
  171. package/esm/MenuButton/components/items/LinkItem.js +60 -0
  172. package/esm/MenuButton/components/items/RadioItem.d.ts +6 -0
  173. package/esm/MenuButton/components/items/RadioItem.js +41 -0
  174. package/esm/MenuButton/components/items/ToggleItem.d.ts +9 -0
  175. package/esm/MenuButton/components/items/ToggleItem.js +63 -0
  176. package/esm/MenuButton/components/items/index.d.ts +4 -0
  177. package/esm/MenuButton/components/items/index.js +4 -0
  178. package/esm/MenuButton/index.d.ts +1 -0
  179. package/esm/MenuButton/index.js +1 -0
  180. package/esm/MenuButton/useMenuItemProps.d.ts +11 -0
  181. package/esm/MenuButton/useMenuItemProps.js +12 -0
  182. package/esm/Sidebar/SidebarButtonLink.d.ts +1 -1
  183. package/esm/Sidebar/SidebarLink.d.ts +1 -1
  184. package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.d.ts +1 -1
  185. package/esm/index.d.ts +2 -0
  186. package/esm/index.js +2 -0
  187. package/esm/styles/helpers/icons.js +2 -2
  188. package/esm/types.d.ts +0 -3
  189. package/esm/utils/sortObjectAlphabetically.d.ts +1 -0
  190. package/esm/utils/sortObjectAlphabetically.js +11 -0
  191. package/package.json +3 -2
  192. package/satellite.min.css +1 -1
@@ -0,0 +1,5 @@
1
+ export * from "./CollapsibleItem";
2
+ export * from "./CollapsibleItemsGroup";
3
+ export * from "./CollapsibleItemsGroupContext";
4
+ export * from "./CollapsibleItemsMultipleGroup";
5
+ export * from "./CollapsibleItemsSingleGroup";
@@ -0,0 +1,14 @@
1
+ import type { IconComponentType } from "Icons";
2
+ import type { FC } from "react";
3
+ import type { BaseItemProps } from "../../useMenuItemProps";
4
+ export declare type ButtonItemProps = BaseItemProps<HTMLButtonElement> & JSX.IntrinsicElements["button"] & {
5
+ /** Left aligned icon */
6
+ startIcon?: IconComponentType;
7
+ /**
8
+ * Variant of the item
9
+ * @default "default"
10
+ */
11
+ variant?: "default" | "destructive";
12
+ };
13
+ export declare const ButtonItem: FC<ButtonItemProps>;
14
+ export default ButtonItem;
@@ -0,0 +1,37 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _templateObject, _templateObject2, _templateObject3;
5
+ var _excluded = ["children", "variant", "startIcon"];
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
9
+ import cx from "clsx";
10
+ import stl from "../../../styles/helpers/satellitePrefixer";
11
+ import { useMenuItemProps } from "../../useMenuItemProps";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ export var ButtonItem = function ButtonItem(props) {
15
+ var itemProps = useMenuItemProps(props);
16
+ var _props$itemProps = _objectSpread(_objectSpread({}, props), itemProps),
17
+ children = _props$itemProps.children,
18
+ variant = _props$itemProps.variant,
19
+ StartIcon = _props$itemProps.startIcon,
20
+ mergedProps = _objectWithoutProperties(_props$itemProps, _excluded);
21
+ var showDestructiveVariant = !props.disabled && variant === "destructive";
22
+ return /*#__PURE__*/_jsx(DropdownMenu.Item, {
23
+ asChild: true,
24
+ children: /*#__PURE__*/_jsxs("button", _objectSpread(_objectSpread({}, mergedProps), {}, {
25
+ className: cx(mergedProps.className, stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["w-full"])))),
26
+ children: [StartIcon && /*#__PURE__*/_jsx(StartIcon, {
27
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["mr-2 shrink-0 ", ""])), showDestructiveVariant ? "text-red-700" : "text-inherit"),
28
+ width: "1rem",
29
+ height: "1rem"
30
+ }), /*#__PURE__*/_jsx("span", {
31
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["w-full truncate ", ""])), showDestructiveVariant && "text-red-700"),
32
+ children: children
33
+ })]
34
+ }))
35
+ });
36
+ };
37
+ export default ButtonItem;
@@ -0,0 +1,10 @@
1
+ import type { IconComponentType } from "Icons";
2
+ import type { FC } from "react";
3
+ import type { BaseItemProps } from "../../useMenuItemProps";
4
+ export declare type LinkItemProps = BaseItemProps & {
5
+ href: string;
6
+ /** Left aligned icon */
7
+ startIcon?: IconComponentType;
8
+ };
9
+ export declare const LinkItem: FC<LinkItemProps>;
10
+ export default LinkItem;
@@ -0,0 +1,60 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
+ var _excluded = ["startIcon", "className", "children", "onClick"];
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
9
+ import cx from "clsx";
10
+ import { useMemo } from "react";
11
+ import { ExternalLink } from "react-feather";
12
+ import { useSatelliteContext } from "../../../Satellite";
13
+ import stl from "../../../styles/helpers/satellitePrefixer";
14
+ import parseURL from "../../../utils/parseUrl";
15
+ import { useMenuItemProps } from "../../useMenuItemProps";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ import { jsxs as _jsxs } from "react/jsx-runtime";
18
+ export var LinkItem = function LinkItem(props) {
19
+ var _useSatelliteContext = useSatelliteContext(),
20
+ router = _useSatelliteContext.router;
21
+ var itemProps = useMenuItemProps(props);
22
+ var _props$itemProps = _objectSpread(_objectSpread({}, props), itemProps),
23
+ StartIcon = _props$itemProps.startIcon,
24
+ className = _props$itemProps.className,
25
+ children = _props$itemProps.children,
26
+ onClick = _props$itemProps.onClick,
27
+ mergedProps = _objectWithoutProperties(_props$itemProps, _excluded);
28
+ var href = router.transformHref(props.href || "");
29
+ var parsedLocation = useMemo(function () {
30
+ return parseURL(href);
31
+ }, [href]);
32
+ var isExternalLink = router.isExternalLocation(parsedLocation);
33
+ var onItemClick = function onItemClick(event) {
34
+ onClick === null || onClick === void 0 || onClick(event);
35
+ event.preventDefault();
36
+ if (router.shouldOpenInNewTab(parsedLocation)) {
37
+ window.open(href, "_blank");
38
+ } else {
39
+ router.push({
40
+ url: href
41
+ });
42
+ }
43
+ };
44
+ return /*#__PURE__*/_jsxs(DropdownMenu.Item, _objectSpread(_objectSpread({}, mergedProps), {}, {
45
+ className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex items-center"]))), className),
46
+ onClick: onItemClick,
47
+ children: [StartIcon && /*#__PURE__*/_jsx(StartIcon, {
48
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["mr-2 shrink-0 text-grey-500"]))),
49
+ width: "1rem",
50
+ height: "1rem"
51
+ }), /*#__PURE__*/_jsx("span", {
52
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["w-full truncate"]))),
53
+ children: children
54
+ }), isExternalLink && /*#__PURE__*/_jsx(ExternalLink, {
55
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["ml-1 shrink-0"]))),
56
+ size: "1em"
57
+ })]
58
+ }));
59
+ };
60
+ export default LinkItem;
@@ -0,0 +1,6 @@
1
+ import type { DropdownMenuRadioItemProps } from "@radix-ui/react-dropdown-menu";
2
+ import type { FC } from "react";
3
+ import type { BaseItemProps } from "../../useMenuItemProps";
4
+ export declare type RadioItemProps = Pick<DropdownMenuRadioItemProps, "value" | "defaultChecked"> & BaseItemProps<HTMLDivElement>;
5
+ export declare const RadioItem: FC<RadioItemProps>;
6
+ export default RadioItem;
@@ -0,0 +1,41 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
+ var _excluded = ["children", "className"];
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
9
+ import cx from "clsx";
10
+ import { Check } from "react-feather";
11
+ import stl from "../../../styles/helpers/satellitePrefixer";
12
+ import useMenuItemProps from "../../useMenuItemProps";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ export var RadioItem = function RadioItem(props) {
16
+ var itemProps = useMenuItemProps(props);
17
+ var _props$itemProps = _objectSpread(_objectSpread({}, props), itemProps),
18
+ children = _props$itemProps.children,
19
+ className = _props$itemProps.className,
20
+ radioProps = _objectWithoutProperties(_props$itemProps, _excluded);
21
+ return /*#__PURE__*/_jsx(DropdownMenu.RadioItem, _objectSpread(_objectSpread({}, radioProps), {}, {
22
+ className: cx(className, stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["data-[state=checked]:bg-xenon-100"])))),
23
+ onSelect: function onSelect(e) {
24
+ return e.preventDefault();
25
+ },
26
+ children: /*#__PURE__*/_jsxs("div", {
27
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex-1 flex items-start relative py-2 pr-5 overflow-hidden"]))),
28
+ children: [/*#__PURE__*/_jsx("span", {
29
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["flex-1 truncate mr-4"]))),
30
+ children: children
31
+ }), /*#__PURE__*/_jsx(DropdownMenu.ItemIndicator, {
32
+ asChild: true,
33
+ children: /*#__PURE__*/_jsx(Check, {
34
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["absolute right-0 text-accent-600 h-5"])))
35
+ })
36
+ })]
37
+ })
38
+ }));
39
+ };
40
+ RadioItem.displayName = "RadioItem";
41
+ export default RadioItem;
@@ -0,0 +1,9 @@
1
+ import type { IconComponentType } from "Icons";
2
+ import type { FC } from "react";
3
+ import type { ToggleProps } from "../../../Toggle";
4
+ export interface ToggleItemProps extends Omit<ToggleProps, "onSelect"> {
5
+ startIcon?: IconComponentType;
6
+ onSelect?: (event: Event) => void;
7
+ }
8
+ export declare const ToggleItem: FC<ToggleItemProps>;
9
+ export default ToggleItem;
@@ -0,0 +1,63 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
6
+ var _excluded = ["className", "checked", "startIcon", "children", "onSelect"];
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
10
+ import cx from "clsx";
11
+ import { useState } from "react";
12
+ import stl from "../../../styles/helpers/satellitePrefixer";
13
+ import { Toggle } from "../../../Toggle";
14
+ import useMenuItemProps from "../../useMenuItemProps";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { jsxs as _jsxs } from "react/jsx-runtime";
17
+ export var ToggleItem = function ToggleItem(props) {
18
+ var itemProps = useMenuItemProps(props);
19
+ var _props$itemProps = _objectSpread(_objectSpread({}, props), itemProps),
20
+ className = _props$itemProps.className,
21
+ checked = _props$itemProps.checked,
22
+ StartIcon = _props$itemProps.startIcon,
23
+ children = _props$itemProps.children,
24
+ _onSelect = _props$itemProps.onSelect,
25
+ toggleProps = _objectWithoutProperties(_props$itemProps, _excluded);
26
+ var isControlled = typeof checked === "boolean";
27
+ var _useState = useState(isControlled ? checked : toggleProps.defaultChecked),
28
+ _useState2 = _slicedToArray(_useState, 2),
29
+ internalChecked = _useState2[0],
30
+ setInternalChecked = _useState2[1];
31
+ var isChecked = isControlled ? checked : internalChecked;
32
+ return /*#__PURE__*/_jsx(DropdownMenu.CheckboxItem, {
33
+ asChild: true,
34
+ onSelect: function onSelect(event) {
35
+ // we prevent the default behavior from Radix which consist in closing
36
+ // the menu when clicking on an item list while we want to keep it open
37
+ event.preventDefault();
38
+ _onSelect === null || _onSelect === void 0 || _onSelect(event);
39
+ if (!isControlled) {
40
+ setInternalChecked(!internalChecked);
41
+ }
42
+ },
43
+ checked: isChecked,
44
+ disabled: toggleProps.disabled,
45
+ children: /*#__PURE__*/_jsxs("div", {
46
+ className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex items-center"]))), className),
47
+ children: [StartIcon && /*#__PURE__*/_jsx(StartIcon, {
48
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["mr-2 shrink-0 text-grey-500"]))),
49
+ width: "1rem",
50
+ height: "1rem"
51
+ }), /*#__PURE__*/_jsx("span", {
52
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["flex-1 truncate mr-4"]))),
53
+ children: children
54
+ }), /*#__PURE__*/_jsx(Toggle, _objectSpread(_objectSpread({
55
+ decorative: true,
56
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["shrink-0"])))
57
+ }, toggleProps), {}, {
58
+ checked: isChecked
59
+ }))]
60
+ })
61
+ });
62
+ };
63
+ export default ToggleItem;
@@ -0,0 +1,4 @@
1
+ export * from "./ButtonItem";
2
+ export * from "./LinkItem";
3
+ export * from "./RadioItem";
4
+ export * from "./ToggleItem";
@@ -0,0 +1,4 @@
1
+ export * from "./ButtonItem";
2
+ export * from "./LinkItem";
3
+ export * from "./RadioItem";
4
+ export * from "./ToggleItem";
@@ -0,0 +1 @@
1
+ export { default as ExperimentalMenuButton } from "./MenuButton";
@@ -0,0 +1 @@
1
+ export { default as ExperimentalMenuButton } from "./MenuButton";
@@ -0,0 +1,11 @@
1
+ import type { EventHandler, MouseEvent } from "react";
2
+ export interface BaseItemProps<T extends HTMLElement = HTMLElement> {
3
+ className?: string;
4
+ disabled?: boolean;
5
+ onClick?: EventHandler<MouseEvent<T>>;
6
+ }
7
+ export declare const useMenuItemProps: <T extends HTMLElement = HTMLElement>(props: BaseItemProps<T>) => {
8
+ className: string;
9
+ onClick: ((event: MouseEvent<T, globalThis.MouseEvent>) => void) | undefined;
10
+ };
11
+ export default useMenuItemProps;
@@ -0,0 +1,12 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import cx from "clsx";
4
+ import stl from "../styles/helpers/satellitePrefixer";
5
+ export var useMenuItemProps = function useMenuItemProps(props) {
6
+ var className = cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex items-center\n min-h-10 px-4 text-left\n focus:no-underline hover:no-underline\n ", "\n "])), props.disabled ? "text-grey-300 cursor-not-allowed outline-none" : "text-inherit hover:bg-grey-100 focus:bg-grey-100 focus:outline-none cursor-pointer"), props.className);
7
+ return {
8
+ className: className,
9
+ onClick: props.onClick
10
+ };
11
+ };
12
+ export default useMenuItemProps;
@@ -1,5 +1,5 @@
1
1
  import type { MouseEventHandler, ReactNode, VFC } from "react";
2
- import type { IconComponentType } from "../types";
2
+ import type { IconComponentType } from "../Icons";
3
3
  export declare type SidebarButtonLinkIcon = IconComponentType | {
4
4
  active: IconComponentType;
5
5
  inactive: IconComponentType;
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode, VFC } from "react";
2
- import type { IconComponentType } from "../types";
2
+ import type { IconComponentType } from "../Icons";
3
3
  export declare type SidebarLinkProps = {
4
4
  icon: IconComponentType;
5
5
  href: string;
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode, VFC } from "react";
2
- import type { IconComponentType } from "../../types";
2
+ import type { IconComponentType } from "../../Icons";
3
3
  import type { SidebarLinksGroupLink } from "./types";
4
4
  declare type SidebarLinksGroupBaseProps = {
5
5
  id?: string;
package/esm/index.d.ts CHANGED
@@ -23,11 +23,13 @@ export * from "./Field";
23
23
  export * from "./Flag";
24
24
  export * from "./FlexGrid";
25
25
  export * from "./HelpUnderline";
26
+ export * from "./Icons";
26
27
  export * from "./Input";
27
28
  export * from "./Insert";
28
29
  export * from "./KeyboardKey";
29
30
  export * from "./Link";
30
31
  export * from "./Medallion";
32
+ export * from "./MenuButton";
31
33
  export * from "./Modal";
32
34
  export * from "./Pagination";
33
35
  export * from "./Popover";
package/esm/index.js CHANGED
@@ -23,11 +23,13 @@ export * from "./Field";
23
23
  export * from "./Flag";
24
24
  export * from "./FlexGrid";
25
25
  export * from "./HelpUnderline";
26
+ export * from "./Icons";
26
27
  export * from "./Input";
27
28
  export * from "./Insert";
28
29
  export * from "./KeyboardKey";
29
30
  export * from "./Link";
30
31
  export * from "./Medallion";
32
+ export * from "./MenuButton";
31
33
  export * from "./Modal";
32
34
  export * from "./Pagination";
33
35
  export * from "./Popover";
@@ -1,11 +1,11 @@
1
+ import _Icon from "react-feather";
1
2
  import _require4 from "react-dom/server";
2
3
  import _require2 from "react";
3
- import _Icon from "react-feather";
4
- var Icon = _Icon;
5
4
  var _require = _require2,
6
5
  createElement = _require.createElement;
7
6
  var _require3 = _require4,
8
7
  renderToStaticMarkup = _require3.renderToStaticMarkup;
8
+ var Icon = _Icon;
9
9
 
10
10
  /**
11
11
  * Render inline SVG for a Feather icon
package/esm/types.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- import type { ComponentClass, SVGAttributes, VoidFunctionComponent } from "react";
2
- export declare type IconProps = SVGAttributes<SVGElement>;
3
- export declare type IconComponentType = VoidFunctionComponent<IconProps> | ComponentClass<IconProps>;
4
1
  export declare type ColorVariant = "accent" | "grey" | "green" | "blue" | "orange" | "red";
5
2
  /**
6
3
  * Ensures at least one type is required
@@ -0,0 +1 @@
1
+ export declare function sortObjectAlphabetically(obj: Record<string, any>): Record<string, any>;
@@ -0,0 +1,11 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ export function sortObjectAlphabetically(obj) {
3
+ var sortedEntries = Object.entries(obj).sort(function (_ref, _ref2) {
4
+ var _ref3 = _slicedToArray(_ref, 1),
5
+ keyA = _ref3[0];
6
+ var _ref4 = _slicedToArray(_ref2, 1),
7
+ keyB = _ref4[0];
8
+ return keyA.localeCompare(keyB);
9
+ });
10
+ return Object.fromEntries(sortedEntries);
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@algolia/satellite",
3
- "version": "1.0.0-beta.173",
3
+ "version": "1.0.0-beta.174",
4
4
  "description": "Algolia design system React components",
5
5
  "sideEffects": false,
6
6
  "scripts": {
@@ -66,7 +66,6 @@
66
66
  "peerDependencies": {
67
67
  "react": "^17.0.0",
68
68
  "react-dom": "^17.0.0",
69
- "react-feather": "^2",
70
69
  "react-instantsearch-dom": "^6.1.0"
71
70
  },
72
71
  "dependencies": {
@@ -74,6 +73,7 @@
74
73
  "@popperjs/core": "^2.4.4",
75
74
  "@radix-ui/react-avatar": "^1.0.3",
76
75
  "@radix-ui/react-dialog": "^1.0.4",
76
+ "@radix-ui/react-dropdown-menu": "^2.0.5",
77
77
  "@radix-ui/react-popover": "^1.0.7",
78
78
  "@radix-ui/react-progress": "^1.0.3",
79
79
  "@radix-ui/react-separator": "^1.0.3",
@@ -89,6 +89,7 @@
89
89
  "lodash": "^4.17.21",
90
90
  "react-day-picker": "^8.0.7",
91
91
  "react-dropzone": "^11.5.1",
92
+ "react-feather": "^2.0.10",
92
93
  "react-popper": "^2.2.5",
93
94
  "react-transition-group": "^4.4.5",
94
95
  "react-use": "^15.3.8",