@algolia/satellite 1.0.0-beta.175 → 1.0.0-beta.176

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 (163) hide show
  1. package/cjs/Button/Button.tailwind.js +1 -0
  2. package/cjs/Button/PolymorphicButton.js +1 -1
  3. package/cjs/Dropdown/Dropdown.d.ts +1 -5
  4. package/cjs/Dropdown/Dropdown.js +12 -15
  5. package/cjs/Dropdown/DropdownButton.d.ts +3 -0
  6. package/cjs/Dropdown/DropdownButton.js +3 -0
  7. package/cjs/Dropdown/components/DropdownButtonItem.d.ts +1 -0
  8. package/cjs/Dropdown/components/DropdownButtonItem.js +5 -2
  9. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.d.ts +1 -0
  10. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.js +1 -0
  11. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.d.ts +1 -0
  12. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.js +1 -0
  13. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -0
  14. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.js +2 -0
  15. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.d.ts +1 -0
  16. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.js +1 -0
  17. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.d.ts +1 -0
  18. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.js +1 -0
  19. package/cjs/Dropdown/components/DropdownDivider.d.ts +1 -0
  20. package/cjs/Dropdown/components/DropdownDivider.js +1 -0
  21. package/cjs/Dropdown/components/DropdownFooterItem.d.ts +1 -0
  22. package/cjs/Dropdown/components/DropdownFooterItem.js +1 -0
  23. package/cjs/Dropdown/components/DropdownLinkItem.d.ts +1 -0
  24. package/cjs/Dropdown/components/DropdownLinkItem.js +5 -2
  25. package/cjs/Dropdown/components/DropdownRadioItem.d.ts +1 -0
  26. package/cjs/Dropdown/components/DropdownRadioItem.js +6 -2
  27. package/cjs/Dropdown/components/DropdownTitle.d.ts +1 -0
  28. package/cjs/Dropdown/components/DropdownTitle.js +1 -0
  29. package/cjs/Dropdown/components/DropdownToggleItem.d.ts +1 -0
  30. package/cjs/Dropdown/components/DropdownToggleItem.js +6 -2
  31. package/cjs/EmptyState/EmptyState.js +4 -9
  32. package/cjs/MenuButton/MenuButton.d.ts +13 -11
  33. package/cjs/MenuButton/MenuButton.js +15 -39
  34. package/cjs/MenuButton/components/Content.d.ts +4 -0
  35. package/cjs/MenuButton/components/Content.js +39 -0
  36. package/cjs/MenuButton/components/DefaultTrigger.d.ts +2 -2
  37. package/cjs/MenuButton/components/DefaultTrigger.js +5 -2
  38. package/cjs/MenuButton/components/items/Item.d.ts +15 -0
  39. package/cjs/MenuButton/components/items/{ButtonItem.js → Item.js} +14 -17
  40. package/cjs/MenuButton/components/items/index.d.ts +1 -1
  41. package/cjs/MenuButton/components/items/index.js +4 -4
  42. package/cjs/MenuButton/index.d.ts +1 -1
  43. package/cjs/MenuButton/index.js +11 -8
  44. package/cjs/MenuButton/useMenuItemProps.d.ts +3 -3
  45. package/cjs/MenuButton/useMenuItemProps.js +1 -1
  46. package/cjs/Satellite/locale.d.ts +6 -2
  47. package/cjs/Stepper/Step.d.ts +7 -0
  48. package/cjs/Stepper/Step.js +116 -0
  49. package/cjs/Stepper/Stepper.d.ts +42 -0
  50. package/cjs/Stepper/Stepper.js +146 -0
  51. package/cjs/Stepper/StepperContext.d.ts +12 -0
  52. package/cjs/Stepper/StepperContext.js +15 -0
  53. package/cjs/Stepper/index.d.ts +4 -0
  54. package/cjs/Stepper/index.js +51 -0
  55. package/cjs/Stepper/types.d.ts +26 -0
  56. package/cjs/Stepper/utils.d.ts +5 -0
  57. package/cjs/Stepper/utils.js +67 -0
  58. package/cjs/Toast/Toast.d.ts +6 -0
  59. package/cjs/{Flag/Flag.js → Toast/Toast.js} +50 -63
  60. package/{esm/Flag/Flag.tailwind.d.ts → cjs/Toast/Toast.tailwind.d.ts} +2 -2
  61. package/cjs/{Flag/Flag.tailwind.js → Toast/Toast.tailwind.js} +7 -7
  62. package/cjs/Toast/Toasts.d.ts +21 -0
  63. package/cjs/Toast/Toasts.js +102 -0
  64. package/cjs/Toast/index.d.ts +4 -0
  65. package/cjs/{Flag → Toast}/index.js +9 -9
  66. package/cjs/Toast/types.d.ts +34 -0
  67. package/cjs/Toast/types.js +5 -0
  68. package/cjs/index.d.ts +1 -1
  69. package/cjs/index.js +4 -4
  70. package/cjs/styles/tailwind.config.js +1 -1
  71. package/cjs/types.d.ts +3 -3
  72. package/cjs/utils/getTextFromReactNode.d.ts +4 -0
  73. package/cjs/utils/getTextFromReactNode.js +20 -0
  74. package/esm/Button/Button.tailwind.js +1 -0
  75. package/esm/Button/PolymorphicButton.js +1 -1
  76. package/esm/Dropdown/Dropdown.d.ts +1 -5
  77. package/esm/Dropdown/Dropdown.js +12 -15
  78. package/esm/Dropdown/DropdownButton.d.ts +3 -0
  79. package/esm/Dropdown/DropdownButton.js +3 -0
  80. package/esm/Dropdown/components/DropdownButtonItem.d.ts +1 -0
  81. package/esm/Dropdown/components/DropdownButtonItem.js +5 -2
  82. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.d.ts +1 -0
  83. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.js +1 -0
  84. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.d.ts +1 -0
  85. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.js +1 -0
  86. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -0
  87. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.js +2 -0
  88. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.d.ts +1 -0
  89. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.js +1 -0
  90. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.d.ts +1 -0
  91. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.js +1 -0
  92. package/esm/Dropdown/components/DropdownDivider.d.ts +1 -0
  93. package/esm/Dropdown/components/DropdownDivider.js +2 -0
  94. package/esm/Dropdown/components/DropdownFooterItem.d.ts +1 -0
  95. package/esm/Dropdown/components/DropdownFooterItem.js +1 -0
  96. package/esm/Dropdown/components/DropdownLinkItem.d.ts +1 -0
  97. package/esm/Dropdown/components/DropdownLinkItem.js +5 -2
  98. package/esm/Dropdown/components/DropdownRadioItem.d.ts +1 -0
  99. package/esm/Dropdown/components/DropdownRadioItem.js +6 -2
  100. package/esm/Dropdown/components/DropdownTitle.d.ts +1 -0
  101. package/esm/Dropdown/components/DropdownTitle.js +1 -0
  102. package/esm/Dropdown/components/DropdownToggleItem.d.ts +1 -0
  103. package/esm/Dropdown/components/DropdownToggleItem.js +6 -2
  104. package/esm/EmptyState/EmptyState.js +4 -9
  105. package/esm/MenuButton/MenuButton.d.ts +13 -11
  106. package/esm/MenuButton/MenuButton.js +15 -39
  107. package/esm/MenuButton/components/Content.d.ts +4 -0
  108. package/esm/MenuButton/components/Content.js +32 -0
  109. package/esm/MenuButton/components/DefaultTrigger.d.ts +2 -2
  110. package/esm/MenuButton/components/DefaultTrigger.js +5 -2
  111. package/esm/MenuButton/components/items/Item.d.ts +15 -0
  112. package/esm/MenuButton/components/items/{ButtonItem.js → Item.js} +13 -16
  113. package/esm/MenuButton/components/items/index.d.ts +1 -1
  114. package/esm/MenuButton/components/items/index.js +1 -1
  115. package/esm/MenuButton/index.d.ts +1 -1
  116. package/esm/MenuButton/index.js +1 -1
  117. package/esm/MenuButton/useMenuItemProps.d.ts +3 -3
  118. package/esm/MenuButton/useMenuItemProps.js +1 -1
  119. package/esm/Satellite/locale.d.ts +6 -2
  120. package/esm/Stepper/Step.d.ts +7 -0
  121. package/esm/Stepper/Step.js +110 -0
  122. package/esm/Stepper/Stepper.d.ts +42 -0
  123. package/esm/Stepper/Stepper.js +139 -0
  124. package/esm/Stepper/StepperContext.d.ts +12 -0
  125. package/esm/Stepper/StepperContext.js +9 -0
  126. package/esm/Stepper/index.d.ts +4 -0
  127. package/esm/Stepper/index.js +4 -0
  128. package/esm/Stepper/types.d.ts +26 -0
  129. package/esm/Stepper/utils.d.ts +5 -0
  130. package/esm/Stepper/utils.js +61 -0
  131. package/esm/Toast/Toast.d.ts +6 -0
  132. package/esm/{Flag/Flag.js → Toast/Toast.js} +46 -62
  133. package/{cjs/Flag/Flag.tailwind.d.ts → esm/Toast/Toast.tailwind.d.ts} +2 -2
  134. package/esm/{Flag/Flag.tailwind.js → Toast/Toast.tailwind.js} +7 -7
  135. package/esm/Toast/Toasts.d.ts +21 -0
  136. package/esm/Toast/Toasts.js +93 -0
  137. package/esm/Toast/index.d.ts +4 -0
  138. package/esm/Toast/index.js +4 -0
  139. package/esm/Toast/types.d.ts +34 -0
  140. package/esm/Toast/types.js +1 -0
  141. package/esm/index.d.ts +1 -1
  142. package/esm/index.js +1 -1
  143. package/esm/styles/tailwind.config.js +1 -1
  144. package/esm/types.d.ts +3 -3
  145. package/esm/utils/getTextFromReactNode.d.ts +4 -0
  146. package/esm/utils/getTextFromReactNode.js +15 -0
  147. package/package.json +2 -1
  148. package/satellite.min.css +1 -1
  149. package/cjs/Flag/Flag.d.ts +0 -11
  150. package/cjs/Flag/Flags.d.ts +0 -48
  151. package/cjs/Flag/Flags.js +0 -90
  152. package/cjs/Flag/index.d.ts +0 -4
  153. package/cjs/Flag/types.d.ts +0 -27
  154. package/cjs/MenuButton/components/items/ButtonItem.d.ts +0 -14
  155. package/esm/Flag/Flag.d.ts +0 -11
  156. package/esm/Flag/Flags.d.ts +0 -48
  157. package/esm/Flag/Flags.js +0 -83
  158. package/esm/Flag/index.d.ts +0 -4
  159. package/esm/Flag/index.js +0 -4
  160. package/esm/Flag/types.d.ts +0 -27
  161. package/esm/MenuButton/components/items/ButtonItem.d.ts +0 -14
  162. /package/cjs/{Flag → Stepper}/types.js +0 -0
  163. /package/esm/{Flag → Stepper}/types.js +0 -0
@@ -1,11 +1,11 @@
1
- import type { EventHandler, MouseEvent } from "react";
1
+ import type { MouseEventHandler } from "react";
2
2
  export interface BaseItemProps<T extends HTMLElement = HTMLElement> {
3
3
  className?: string;
4
4
  disabled?: boolean;
5
- onClick?: EventHandler<MouseEvent<T>>;
5
+ onClick?: MouseEventHandler<T>;
6
6
  }
7
7
  export declare const useMenuItemProps: <T extends HTMLElement = HTMLElement>(props: BaseItemProps<T>) => {
8
8
  className: string;
9
- onClick: ((event: MouseEvent<T, globalThis.MouseEvent>) => void) | undefined;
9
+ onClick: MouseEventHandler<T> | undefined;
10
10
  };
11
11
  export default useMenuItemProps;
@@ -3,7 +3,7 @@ var _templateObject;
3
3
  import cx from "clsx";
4
4
  import stl from "../styles/helpers/satellitePrefixer";
5
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);
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 pointer-events-none" : "text-inherit hover:bg-grey-100 focus:bg-grey-100 focus:outline-none cursor-pointer"), props.className);
7
7
  return {
8
8
  className: className,
9
9
  onClick: props.onClick
@@ -3,7 +3,6 @@ import type { AutoCompleteLocale } from "../AutoComplete";
3
3
  import type { UserAvatarLocale } from "../Avatars/UserAvatar";
4
4
  import type { DatePickerLocale } from "../DatePicker/types";
5
5
  import type { DropzoneLocale } from "../Dropzone";
6
- import type { FlagLocale } from "../Flag";
7
6
  import type { InputPropsLocale } from "../Input";
8
7
  import type { ModalLocale } from "../Modal";
9
8
  import type { PaginationLocale } from "../Pagination";
@@ -11,8 +10,11 @@ import type { CompactPaginationLocale } from "../Pagination/CompactPagination";
11
10
  import type { DotPaginationLocale } from "../Pagination/DotPagination";
12
11
  import type { PopoverLocale } from "../Popover/types";
13
12
  import type { SidebarLocale } from "../Sidebar";
13
+ import type { StepperLocale } from "../Stepper";
14
14
  import type { DataTableLocale } from "../Tables/DataTable";
15
15
  import type { TagLocale } from "../Tag";
16
+ import type { ToastLocale } from "../Toast";
17
+ import type { ToastsLocale } from "../Toast/Toasts";
16
18
  export declare type ComponentsLocales = {
17
19
  announcementBadge?: AnnouncementBadgeLocale;
18
20
  autoComplete?: AutoCompleteLocale;
@@ -21,13 +23,15 @@ export declare type ComponentsLocales = {
21
23
  datePicker?: DatePickerLocale;
22
24
  dotPagination?: DotPaginationLocale;
23
25
  dropzone?: DropzoneLocale;
24
- flag?: FlagLocale;
25
26
  input?: InputPropsLocale;
26
27
  modal?: ModalLocale;
27
28
  pagination?: PaginationLocale;
28
29
  popover?: PopoverLocale;
29
30
  sidebar?: SidebarLocale;
31
+ stepper?: StepperLocale;
30
32
  tag?: TagLocale;
33
+ toast?: ToastLocale;
34
+ toasts?: ToastsLocale;
31
35
  userAvatar?: UserAvatarLocale;
32
36
  };
33
37
  export declare const useLocale: <ComponentKey extends keyof ComponentsLocales>(componentKey: ComponentKey) => ComponentsLocales[ComponentKey];
@@ -0,0 +1,7 @@
1
+ import { type HTMLAttributes, type VFC } from "react";
2
+ import type { BaseStep } from "./types";
3
+ export declare type StepProps = BaseStep & HTMLAttributes<HTMLLIElement> & {
4
+ index: number;
5
+ };
6
+ export declare const Step: VFC<StepProps>;
7
+ export default Step;
@@ -0,0 +1,110 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
+ var _excluded = ["className", "index", "icon", "label", "name", "completed", "disabled"];
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29;
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 cx from "clsx";
9
+ import { useMemo } from "react";
10
+ import { CheckIcon } from "../Icons";
11
+ import stl from "../styles/helpers/satellitePrefixer";
12
+ import { getTextFromReactNode } from "../utils/getTextFromReactNode";
13
+ import { uniqueId } from "../utils/uniqueId";
14
+ import { useStepperContext } from "./StepperContext";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { jsxs as _jsxs } from "react/jsx-runtime";
17
+ var BUTTON_SIZE_CLASSNAMES = {
18
+ small: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["px-2.5 py-2"]))),
19
+ "default": stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["px-3 py-2.5"]))),
20
+ large: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["p-4"])))
21
+ };
22
+ var CONNECTOR_SIZE_CLASSNAMES = {
23
+ small: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["left-5 top-7"]))),
24
+ "default": stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["left-6 top-7"]))),
25
+ large: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["left-8 top-8"])))
26
+ };
27
+ var ICON_SIZE_CLASSNAMES = {
28
+ small: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["w-5 h-5"]))),
29
+ "default": stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["w-6 h-6"]))),
30
+ large: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["w-8 h-8"])))
31
+ };
32
+ var ICON_SIZE = {
33
+ small: 12,
34
+ "default": 14,
35
+ large: 16
36
+ };
37
+ var CheckIconInternal = function CheckIconInternal(props) {
38
+ return /*#__PURE__*/_jsx(CheckIcon, _objectSpread({}, props));
39
+ };
40
+ export var Step = function Step(_ref) {
41
+ var className = _ref.className,
42
+ index = _ref.index,
43
+ CustomIcon = _ref.icon,
44
+ label = _ref.label,
45
+ name = _ref.name,
46
+ completed = _ref.completed,
47
+ disabled = _ref.disabled,
48
+ props = _objectWithoutProperties(_ref, _excluded);
49
+ var context = useStepperContext();
50
+ var active = context.activeStep === index;
51
+ var stepName = getTextFromReactNode(name);
52
+ var buttonId = useMemo(function () {
53
+ return uniqueId("stepper-step-");
54
+ }, []);
55
+ var locale = context.locale;
56
+ var disabledLocale = typeof locale.disabledStep === "function" ? locale.disabledStep(stepName) : locale.disabledStep;
57
+ var activeLocale = typeof locale.activeStep === "function" ? locale.activeStep(stepName) : locale.activeStep;
58
+ var completedLocale = typeof locale.completedStep === "function" ? locale.completedStep(stepName) : locale.completedStep;
59
+ var incompletedLocale = typeof locale.incompletedStep === "function" ? locale.incompletedStep(stepName) : locale.incompletedStep;
60
+ var Icon = CustomIcon;
61
+ if (completed) {
62
+ Icon = CheckIconInternal;
63
+ }
64
+ return /*#__PURE__*/_jsx("li", _objectSpread(_objectSpread({}, props), {}, {
65
+ className: cx(className, stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["text-grey-600 group/step"])))),
66
+ children: /*#__PURE__*/_jsxs("button", {
67
+ id: buttonId,
68
+ className: cx(stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["relative w-full flex items-center text-left gap-2 rounded border transition-colors group/button"]))), stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["-outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-xenon-600"]))), disabled ? stl(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["cursor-not-allowed"]))) : stl(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["hover:bg-grey-100"]))), active ? stl(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["border-grey-200 bg-white"]))) : stl(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["border-transparent"]))), BUTTON_SIZE_CLASSNAMES[context.size]),
69
+ "aria-label": disabled ? disabledLocale : active ? activeLocale : completed ? completedLocale : incompletedLocale,
70
+ "aria-current": active ? "step" : undefined,
71
+ disabled: disabled,
72
+ tabIndex: index === context.activeStep ? 0 : -1,
73
+ "data-step-idx": index,
74
+ onClick: function onClick() {
75
+ var _context$onStepChange;
76
+ return (_context$onStepChange = context.onStepChange) === null || _context$onStepChange === void 0 ? void 0 : _context$onStepChange.call(context, index);
77
+ },
78
+ onKeyDown: function onKeyDown(event) {
79
+ switch (event.key) {
80
+ case "Space":
81
+ case "Enter":
82
+ {
83
+ var _context$onStepChange2;
84
+ (_context$onStepChange2 = context.onStepChange) === null || _context$onStepChange2 === void 0 || _context$onStepChange2.call(context, index);
85
+ break;
86
+ }
87
+ }
88
+ },
89
+ children: [context.connectors && /*#__PURE__*/_jsx("span", {
90
+ className: cx(stl(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["absolute -z-10 border-l h-full group-last/step:hidden"]))), completed ? stl(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["border-green-600"]))) : stl(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["border-grey-200"]))), CONNECTOR_SIZE_CLASSNAMES[context.size])
91
+ }), /*#__PURE__*/_jsx("span", {
92
+ className: cx(stl(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["rounded-full flex items-center justify-center shrink-0 text-sm transition-colors"]))), !active && !completed && stl(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["bg-grey-100"]))), !active && !completed && !disabled && stl(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["group-hover/button:bg-white"]))), active && !completed && stl(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["bg-grey-800 text-white"]))), completed && stl(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["bg-green-600 text-white"]))), ICON_SIZE_CLASSNAMES[context.size]),
93
+ children: Icon ? /*#__PURE__*/_jsx(Icon, {
94
+ width: ICON_SIZE[context.size],
95
+ height: ICON_SIZE[context.size]
96
+ }) : index + 1
97
+ }), /*#__PURE__*/_jsxs("div", {
98
+ className: cx(disabled && stl(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["text-grey-300"])))),
99
+ children: [!!label && /*#__PURE__*/_jsx("div", {
100
+ className: stl(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["text-sm line-clamp-1"]))),
101
+ children: label
102
+ }), /*#__PURE__*/_jsx("div", {
103
+ className: cx(stl(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["text-base line-clamp-2"]))), (completed || active) && stl(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["text-grey-900"]))), context.size === "small" && stl(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["text-sm"])))),
104
+ children: name
105
+ })]
106
+ })]
107
+ })
108
+ }));
109
+ };
110
+ export default Step;
@@ -0,0 +1,42 @@
1
+ import type { HTMLAttributes, VFC } from "react";
2
+ import type { BaseStep } from "./types";
3
+ export declare type StepperLocale = {
4
+ disabledStep?: string | ((stepName: string) => string);
5
+ activeStep?: string | ((stepName: string) => string);
6
+ incompletedStep?: string | ((stepName: string) => string);
7
+ completedStep?: string | ((stepName: string) => string);
8
+ };
9
+ export declare type StepperSizes = "small" | "default" | "large";
10
+ export interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
11
+ /**
12
+ * Defines the steps of the Stepper.
13
+ */
14
+ steps: BaseStep[];
15
+ /**
16
+ * Defines the controlled index of the active step.
17
+ * If omitted, the first step will be active by default
18
+ * and the Stepper will be uncontrolled.
19
+ */
20
+ activeStep?: number;
21
+ /**
22
+ * Defines the callback fired when a step is clicked.
23
+ */
24
+ onStepChange?: (index: number) => void;
25
+ /**
26
+ * Defines the size of the Stepper.
27
+ * @default "default"
28
+ */
29
+ size?: StepperSizes;
30
+ /**
31
+ * Defines whether the connectors should be displayed.
32
+ * @default true
33
+ */
34
+ connectors?: boolean;
35
+ /**
36
+ * Defines the text describing the steps.
37
+ * If not provided, default values will be used.
38
+ */
39
+ locale?: StepperLocale;
40
+ }
41
+ export declare const Stepper: VFC<StepperProps>;
42
+ export default Stepper;
@@ -0,0 +1,139 @@
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;
6
+ var _excluded = ["steps", "activeStep", "onStepChange", "size", "connectors", "locale", "className"];
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 cx from "clsx";
10
+ import { useRef, useState } from "react";
11
+ import { useLocale } from "../Satellite";
12
+ import stl from "../styles/helpers/satellitePrefixer";
13
+ import { Step } from "./Step";
14
+ import { StepperContext } from "./StepperContext";
15
+ import { useStepIndices } from "./utils";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ var DEFAULT_TAG_LOCALE = {
18
+ disabledStep: function disabledStep(stepName) {
19
+ return "".concat(stepName, " disabled");
20
+ },
21
+ activeStep: function activeStep(stepName) {
22
+ return "".concat(stepName, " active");
23
+ },
24
+ incompletedStep: function incompletedStep(stepName) {
25
+ return "".concat(stepName, " incompleted");
26
+ },
27
+ completedStep: function completedStep(stepName) {
28
+ return "".concat(stepName, " completed");
29
+ }
30
+ };
31
+ export var Stepper = function Stepper(_ref) {
32
+ var steps = _ref.steps,
33
+ customActiveStep = _ref.activeStep,
34
+ _onStepChange = _ref.onStepChange,
35
+ _ref$size = _ref.size,
36
+ size = _ref$size === void 0 ? "default" : _ref$size,
37
+ _ref$connectors = _ref.connectors,
38
+ connectors = _ref$connectors === void 0 ? true : _ref$connectors,
39
+ propsLocale = _ref.locale,
40
+ className = _ref.className,
41
+ props = _objectWithoutProperties(_ref, _excluded);
42
+ if (process.env.NODE_ENV !== "production") {
43
+ var stepsNb = steps.length;
44
+ if (stepsNb < 2) {
45
+ console.warn("The Stepper component should have at least 2 steps.");
46
+ }
47
+ if (stepsNb > 6) {
48
+ console.warn("The Stepper component should not have more than 6 steps.");
49
+ }
50
+ }
51
+ var contextLocale = useLocale("stepper");
52
+ var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_TAG_LOCALE), contextLocale), propsLocale);
53
+ var isControlled = typeof customActiveStep !== "undefined";
54
+ var _useState = useState(customActiveStep || 0),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ activeStep = _useState2[0],
57
+ setActiveStep = _useState2[1];
58
+ if (isControlled && activeStep !== customActiveStep) {
59
+ setActiveStep(customActiveStep);
60
+ }
61
+ var containerRef = useRef(null);
62
+ var _useState3 = useState(customActiveStep || 0),
63
+ _useState4 = _slicedToArray(_useState3, 2),
64
+ focusedStep = _useState4[0],
65
+ setFocusedStep = _useState4[1];
66
+ var _useStepIndices = useStepIndices(steps, focusedStep, true),
67
+ _useStepIndices2 = _slicedToArray(_useStepIndices, 4),
68
+ getPreviousFocusStep = _useStepIndices2[0],
69
+ getNextFocusStep = _useStepIndices2[1],
70
+ getFirstFocusStep = _useStepIndices2[2],
71
+ getLastFocusStep = _useStepIndices2[3];
72
+ var focusStep = function focusStep(index) {
73
+ var _containerRef$current;
74
+ if (index === -1) return;
75
+ (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 || (_containerRef$current = _containerRef$current.querySelector("[data-step-idx='".concat(index, "']"))) === null || _containerRef$current === void 0 || _containerRef$current.focus();
76
+ setFocusedStep(index);
77
+ };
78
+ return /*#__PURE__*/_jsx(StepperContext.Provider, {
79
+ value: {
80
+ activeStep: activeStep,
81
+ focusedStep: focusedStep,
82
+ size: size,
83
+ connectors: connectors,
84
+ locale: locale,
85
+ onStepChange: function onStepChange(index) {
86
+ if (!isControlled) {
87
+ setActiveStep(index);
88
+ }
89
+ _onStepChange === null || _onStepChange === void 0 || _onStepChange(index);
90
+ setFocusedStep(index);
91
+ }
92
+ },
93
+ children: /*#__PURE__*/_jsx("nav", _objectSpread(_objectSpread({
94
+ "aria-label": "progress"
95
+ }, props), {}, {
96
+ className: cx(className),
97
+ children: /*#__PURE__*/_jsx("ol", {
98
+ role: "presentation",
99
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex flex-col isolate"]))),
100
+ ref: containerRef,
101
+ onFocus: function onFocus() {
102
+ setFocusedStep(activeStep);
103
+ },
104
+ onKeyDown: function onKeyDown(event) {
105
+ switch (event.key) {
106
+ case "ArrowLeft":
107
+ case "ArrowUp":
108
+ {
109
+ focusStep(getPreviousFocusStep());
110
+ break;
111
+ }
112
+ case "ArrowRight":
113
+ case "ArrowDown":
114
+ {
115
+ focusStep(getNextFocusStep());
116
+ break;
117
+ }
118
+ case "Home":
119
+ {
120
+ focusStep(getFirstFocusStep());
121
+ break;
122
+ }
123
+ case "End":
124
+ {
125
+ focusStep(getLastFocusStep());
126
+ break;
127
+ }
128
+ }
129
+ },
130
+ children: steps.map(function (step, index) {
131
+ return /*#__PURE__*/_jsx(Step, _objectSpread({
132
+ index: index
133
+ }, step), index);
134
+ })
135
+ })
136
+ }))
137
+ });
138
+ };
139
+ export default Stepper;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { StepperLocale, StepperSizes } from "./Stepper";
3
+ export declare type StepperContextType = {
4
+ activeStep: number;
5
+ focusedStep: number;
6
+ size: StepperSizes;
7
+ connectors: boolean;
8
+ locale: StepperLocale;
9
+ onStepChange?: (index: number) => void;
10
+ };
11
+ export declare const StepperContext: import("react").Context<StepperContextType | null>;
12
+ export declare const useStepperContext: () => StepperContextType;
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from "react";
2
+ export var StepperContext = /*#__PURE__*/createContext(null);
3
+ export var useStepperContext = function useStepperContext() {
4
+ var context = useContext(StepperContext);
5
+ if (!context) {
6
+ throw new Error("useStepperContext used outside of Stepper");
7
+ }
8
+ return context;
9
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./Stepper";
2
+ export * from "./types";
3
+ export * from "./utils";
4
+ export { default } from "./Stepper";
@@ -0,0 +1,4 @@
1
+ export * from "./Stepper";
2
+ export * from "./types";
3
+ export * from "./utils";
4
+ export { default } from "./Stepper";
@@ -0,0 +1,26 @@
1
+ import type { ReactNode } from "react";
2
+ import type { IconComponentType } from "../Icons";
3
+ export declare type BaseStep = {
4
+ /**
5
+ * Defines the icon to display in the step.
6
+ * If omitted, the `index + 1` of the step will be displayed instead.
7
+ * If the step is completed, a check icon will be displayed instead.
8
+ */
9
+ icon?: IconComponentType;
10
+ /**
11
+ * Defines the label to display in the step.
12
+ */
13
+ label?: ReactNode;
14
+ /**
15
+ * Defines the name to display in the step.
16
+ */
17
+ name: ReactNode;
18
+ /**
19
+ * Defines whether the step is completed.
20
+ */
21
+ completed?: boolean;
22
+ /**
23
+ * Defines whether the step is disabled.
24
+ */
25
+ disabled?: boolean;
26
+ };
@@ -0,0 +1,5 @@
1
+ import type { BaseStep } from "./types";
2
+ /**
3
+ * Returns a tuple of functions that return the previous and next step indices.
4
+ */
5
+ export declare const useStepIndices: (steps: BaseStep[], activeStep: number, loop?: boolean) => [() => number, () => number, () => number, () => number, boolean, boolean];
@@ -0,0 +1,61 @@
1
+ var findPreviousStep = function findPreviousStep(steps, activeStep, loop) {
2
+ var stepCount = steps.length;
3
+ var startIndex = activeStep - 1;
4
+ if (loop) {
5
+ startIndex = (startIndex + stepCount) % stepCount;
6
+ }
7
+ for (var i = startIndex; i >= 0; i--) {
8
+ if (!steps[i].disabled) {
9
+ return i;
10
+ }
11
+ }
12
+ return -1;
13
+ };
14
+ var findNextStep = function findNextStep(steps, activeStep, loop) {
15
+ var stepCount = steps.length;
16
+ var endIndex = stepCount;
17
+ if (loop) {
18
+ endIndex = activeStep + stepCount;
19
+ }
20
+ for (var i = activeStep + 1; i < endIndex; i++) {
21
+ if (!steps[i % stepCount].disabled) {
22
+ return i % stepCount;
23
+ }
24
+ }
25
+ return -1;
26
+ };
27
+ var findFirstOrLastStep = function findFirstOrLastStep(steps, reverse) {
28
+ var stepCount = steps.length;
29
+ for (var i = reverse ? stepCount - 1 : 0; i >= 0 && i < stepCount; i += reverse ? -1 : 1) {
30
+ if (!steps[i].disabled) {
31
+ return i;
32
+ }
33
+ }
34
+ return -1;
35
+ };
36
+ var findFirstStep = function findFirstStep(steps) {
37
+ return findFirstOrLastStep(steps, false);
38
+ };
39
+ var findLastStep = function findLastStep(steps) {
40
+ return findFirstOrLastStep(steps, true);
41
+ };
42
+
43
+ /**
44
+ * Returns a tuple of functions that return the previous and next step indices.
45
+ */
46
+ export var useStepIndices = function useStepIndices(steps, activeStep) {
47
+ var loop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
48
+ var getPreviousStep = function getPreviousStep() {
49
+ return findPreviousStep(steps, activeStep, loop);
50
+ };
51
+ var getNextStep = function getNextStep() {
52
+ return findNextStep(steps, activeStep, loop);
53
+ };
54
+ var getFirstStep = function getFirstStep() {
55
+ return findFirstStep(steps);
56
+ };
57
+ var getLastStep = function getLastStep() {
58
+ return findLastStep(steps);
59
+ };
60
+ return [getPreviousStep, getNextStep, getFirstStep, getLastStep, getPreviousStep() === -1, getNextStep() === -1];
61
+ };
@@ -0,0 +1,6 @@
1
+ import type { FC, HTMLAttributes } from "react";
2
+ import type { Notification } from "./types";
3
+ export declare type ToastLocale = Notification["locale"];
4
+ export declare type ToastProps = Omit<Notification, "id" | "content" | "autoDismissAfter"> & HTMLAttributes<HTMLElement>;
5
+ export declare const Toast: FC<ToastProps>;
6
+ export default Toast;