@tecsinapse/cortex-react 1.5.2 → 1.5.4-beta.0

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 (34) hide show
  1. package/dist/cjs/components/DatePicker/Content.js +0 -12
  2. package/dist/cjs/components/Menubar/Header.js +1 -1
  3. package/dist/cjs/components/Menubar/Root.js +3 -2
  4. package/dist/cjs/components/Popover/Content.js +14 -3
  5. package/dist/cjs/components/Popover/Trigger.js +2 -1
  6. package/dist/cjs/components/Select/Content.js +0 -12
  7. package/dist/cjs/components/Select/Trigger.js +1 -10
  8. package/dist/cjs/hooks/useFloatingLogic.js +15 -2
  9. package/dist/cjs/index.js +8 -0
  10. package/dist/cjs/provider/MenubarProvider.js +15 -1
  11. package/dist/cjs/provider/SnackbarProvider.js +5 -2
  12. package/dist/cjs/service/SnackbarSonner.js +7 -3
  13. package/dist/esm/components/DatePicker/Content.js +0 -12
  14. package/dist/esm/components/Menubar/Header.js +2 -2
  15. package/dist/esm/components/Menubar/Root.js +3 -2
  16. package/dist/esm/components/Popover/Content.js +14 -3
  17. package/dist/esm/components/Popover/Trigger.js +2 -1
  18. package/dist/esm/components/Select/Content.js +0 -12
  19. package/dist/esm/components/Select/Trigger.js +1 -10
  20. package/dist/esm/hooks/useFloatingLogic.js +16 -3
  21. package/dist/esm/index.js +8 -0
  22. package/dist/esm/provider/MenubarProvider.js +16 -2
  23. package/dist/esm/provider/SnackbarProvider.js +5 -2
  24. package/dist/esm/service/SnackbarSonner.js +7 -3
  25. package/dist/types/components/Menubar/DropdownRoot.d.ts +2 -2
  26. package/dist/types/components/Menubar/Root.d.ts +3 -3
  27. package/dist/types/components/Menubar/index.d.ts +1 -1
  28. package/dist/types/components/Popover/Context.d.ts +4 -1
  29. package/dist/types/components/index.d.ts +1 -0
  30. package/dist/types/hooks/useFloatingLogic.d.ts +2 -0
  31. package/dist/types/provider/SnackbarProvider.d.ts +3 -1
  32. package/dist/types/service/ISnackbar.d.ts +2 -1
  33. package/dist/types/service/SnackbarSonner.d.ts +2 -0
  34. package/package.json +3 -3
@@ -1,21 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- require('@internationalized/date');
5
- require('react-aria');
6
- require('react-stately');
7
- require('@floating-ui/react');
8
- require('currency.js');
9
- var useOutsideClickListener = require('../../hooks/useOutsideClickListener.js');
10
- var Context = require('../Popover/Context.js');
11
4
 
12
5
  const Content = ({ children }) => {
13
- const { setIsOpen } = Context.usePopoverContext();
14
6
  const ref = React.useRef(null);
15
- useOutsideClickListener.useOutsideClickListener({
16
- ref,
17
- onClickOutside: () => setIsOpen(false)
18
- });
19
7
  return /* @__PURE__ */ React.createElement("div", { ref }, children);
20
8
  };
21
9
 
@@ -17,7 +17,7 @@ const Header = ({ children, className, ...rest }) => {
17
17
  "data-testid": "header-menubar",
18
18
  ...rest
19
19
  },
20
- /* @__PURE__ */ React.createElement(Button.Button, { variants: { size: "square" }, onClick: () => setShow(!show) }, /* @__PURE__ */ React.createElement(io5.IoMenu, { size: 16 })),
20
+ /* @__PURE__ */ React.createElement(Button.Button, { variants: { size: "square" }, onClick: () => setShow(!show) }, show ? /* @__PURE__ */ React.createElement(io5.IoCloseOutline, { size: 16 }) : /* @__PURE__ */ React.createElement(io5.IoMenu, { size: 16 })),
21
21
  children
22
22
  );
23
23
  };
@@ -2,9 +2,10 @@
2
2
 
3
3
  var React = require('react');
4
4
  var MenubarProvider = require('../../provider/MenubarProvider.js');
5
+ require('../../provider/SnackbarProvider.js');
5
6
 
6
- const Root = ({ children, ...rest }) => {
7
- return /* @__PURE__ */ React.createElement(MenubarProvider.MenubarProvider, null, /* @__PURE__ */ React.createElement("div", { ...rest }, children));
7
+ const Root = ({ children }) => {
8
+ return /* @__PURE__ */ React.createElement(MenubarProvider.MenubarProvider, null, children);
8
9
  };
9
10
 
10
11
  module.exports = Root;
@@ -3,16 +3,27 @@
3
3
  var clsx = require('clsx');
4
4
  var React = require('react');
5
5
  var Context = require('./Context.js');
6
+ var react = require('@floating-ui/react');
6
7
 
7
8
  const PopoverContent = ({
8
9
  children,
9
10
  className
10
11
  }) => {
11
- const { isOpen, x, y, strategy, floatingStyles, refs } = Context.usePopoverContext();
12
- return /* @__PURE__ */ React.createElement(React.Fragment, null, isOpen ? /* @__PURE__ */ React.createElement(
12
+ const {
13
+ isOpen,
14
+ x,
15
+ y,
16
+ strategy,
17
+ floatingStyles,
18
+ refs,
19
+ getFloatingProps,
20
+ context
21
+ } = Context.usePopoverContext();
22
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, isOpen && /* @__PURE__ */ React.createElement(react.FloatingFocusManager, { context, modal: false }, /* @__PURE__ */ React.createElement(
13
23
  "div",
14
24
  {
15
25
  ref: refs.setFloating,
26
+ ...getFloatingProps(),
16
27
  className: clsx(
17
28
  "border border-gray-200 bg-black p-[0px] rounded-md shadow-lg z-popover",
18
29
  className
@@ -25,7 +36,7 @@ const PopoverContent = ({
25
36
  }
26
37
  },
27
38
  children
28
- ) : /* @__PURE__ */ React.createElement(React.Fragment, null));
39
+ )));
29
40
  };
30
41
 
31
42
  exports.PopoverContent = PopoverContent;
@@ -5,7 +5,8 @@ var Context = require('./Context.js');
5
5
 
6
6
  const PopoverTrigger = ({ children }) => {
7
7
  const { triggerProps } = Context.usePopoverContext();
8
- return utils.cloneWithProps(children, triggerProps);
8
+ const isDisabled = children.props?.disabled;
9
+ return utils.cloneWithProps(children, isDisabled ? {} : triggerProps);
9
10
  };
10
11
 
11
12
  exports.PopoverTrigger = PopoverTrigger;
@@ -2,21 +2,9 @@
2
2
 
3
3
  var clsx = require('clsx');
4
4
  var React = require('react');
5
- require('@internationalized/date');
6
- require('react-aria');
7
- require('react-stately');
8
- require('@floating-ui/react');
9
- require('currency.js');
10
- var useOutsideClickListener = require('../../hooks/useOutsideClickListener.js');
11
- var Context = require('../Popover/Context.js');
12
5
 
13
6
  const Content = ({ children, className }) => {
14
- const { setIsOpen } = Context.usePopoverContext();
15
7
  const ref = React.useRef(null);
16
- useOutsideClickListener.useOutsideClickListener({
17
- ref,
18
- onClickOutside: () => setIsOpen(false)
19
- });
20
8
  return /* @__PURE__ */ React.createElement("div", { className: clsx("w-full relative", className), ref }, children);
21
9
  };
22
10
 
@@ -21,16 +21,7 @@ const SelectTrigger = ({
21
21
  return multiLabelSelected ? multiLabelSelected(value.length) : `${value.length} items selected`;
22
22
  return labelExtractor(value);
23
23
  }, [label, value]);
24
- return /* @__PURE__ */ React.createElement(index.Popover.Trigger, null, /* @__PURE__ */ React.createElement(
25
- "button",
26
- {
27
- className: button({ disabled, className: "bg-white" }),
28
- disabled,
29
- role: "button"
30
- },
31
- /* @__PURE__ */ React.createElement("span", { "data-testid": "select-placeholder" }, _placeholder),
32
- /* @__PURE__ */ React.createElement(io5.IoChevronDownOutline, null)
33
- ));
24
+ return /* @__PURE__ */ React.createElement(index.Popover.Trigger, null, /* @__PURE__ */ React.createElement("button", { className: button(), disabled, role: "button" }, /* @__PURE__ */ React.createElement("span", { "data-testid": "select-placeholder" }, _placeholder), /* @__PURE__ */ React.createElement(io5.IoChevronDownOutline, null)));
34
25
  };
35
26
 
36
27
  exports.SelectTrigger = SelectTrigger;
@@ -13,6 +13,8 @@ const useFloatingLogic = ({
13
13
  {
14
14
  placement,
15
15
  whileElementsMounted: react.autoUpdate,
16
+ open: isOpen,
17
+ onOpenChange: setIsOpen,
16
18
  middleware: [
17
19
  react.offset(10),
18
20
  react.flip({
@@ -24,6 +26,14 @@ const useFloatingLogic = ({
24
26
  ]
25
27
  }
26
28
  );
29
+ const click = react.useClick(context);
30
+ const dismiss = react.useDismiss(context);
31
+ const role = react.useRole(context);
32
+ const { getReferenceProps, getFloatingProps } = react.useInteractions([
33
+ click,
34
+ dismiss,
35
+ role
36
+ ]);
27
37
  React.useEffect(() => {
28
38
  if (isOpen) update();
29
39
  }, [isOpen, update]);
@@ -35,7 +45,8 @@ const useFloatingLogic = ({
35
45
  },
36
46
  ...trigger === "click" && {
37
47
  onClick: () => setIsOpen((prev) => !prev)
38
- }
48
+ },
49
+ ...getReferenceProps()
39
50
  };
40
51
  return {
41
52
  isOpen,
@@ -46,7 +57,9 @@ const useFloatingLogic = ({
46
57
  refs,
47
58
  context,
48
59
  floatingStyles,
49
- triggerProps
60
+ triggerProps,
61
+ getReferenceProps,
62
+ getFloatingProps
50
63
  };
51
64
  };
52
65
 
package/dist/cjs/index.js CHANGED
@@ -38,6 +38,14 @@ var TimeField = require('./components/TimeField/TimeField.js');
38
38
  var TimeFieldInput = require('./components/TimeField/TimeFieldInput.js');
39
39
  var Toggle = require('./components/Toggle.js');
40
40
  var Tooltip = require('./components/Tooltip.js');
41
+ require('react');
42
+ require('clsx');
43
+ require('./styles/menubar.js');
44
+ require('./components/Menubar/Dropdown.js');
45
+ require('./components/Menubar/Item.js');
46
+ require('./components/Menubar/MostUsed.js');
47
+ require('./components/Menubar/MostUsedItem.js');
48
+ require('./components/Menubar/SubItem.js');
41
49
  var useCalendar = require('./hooks/useCalendar.js');
42
50
  var useCalendarCell = require('./hooks/useCalendarCell.js');
43
51
  var useCalendarGrid = require('./hooks/useCalendarGrid.js');
@@ -1,6 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
+ require('@internationalized/date');
5
+ require('react-aria');
6
+ require('react-stately');
7
+ require('@floating-ui/react');
8
+ require('currency.js');
9
+ var useOutsideClickListener = require('../hooks/useOutsideClickListener.js');
4
10
 
5
11
  const MenubarContext = React.createContext({
6
12
  show: false,
@@ -8,7 +14,15 @@ const MenubarContext = React.createContext({
8
14
  });
9
15
  const MenubarProvider = ({ children }) => {
10
16
  const [show, setShow] = React.useState(false);
11
- return /* @__PURE__ */ React.createElement(MenubarContext.Provider, { value: { show, setShow } }, children);
17
+ const ref = React.useRef(null);
18
+ const onClickOutside = React.useCallback(() => {
19
+ setShow(false);
20
+ }, []);
21
+ useOutsideClickListener.useOutsideClickListener({
22
+ ref,
23
+ onClickOutside
24
+ });
25
+ return /* @__PURE__ */ React.createElement(MenubarContext.Provider, { value: { show, setShow } }, /* @__PURE__ */ React.createElement("div", { ref }, children));
12
26
  };
13
27
  const useMenubar = () => {
14
28
  const context = React.useContext(MenubarContext);
@@ -5,8 +5,11 @@ var sonner = require('sonner');
5
5
  var SnackbarSonner = require('../service/SnackbarSonner.js');
6
6
 
7
7
  const SnackbarContext = React.createContext(null);
8
- const SnackbarProvider = ({ children }) => {
9
- const snackbar = new SnackbarSonner.SnackbarSonner();
8
+ const SnackbarProvider = ({
9
+ children,
10
+ options
11
+ }) => {
12
+ const snackbar = new SnackbarSonner.SnackbarSonner(options);
10
13
  return /* @__PURE__ */ React.createElement(SnackbarContext.Provider, { value: { snackbar } }, children, /* @__PURE__ */ React.createElement(sonner.Toaster, null));
11
14
  };
12
15
  const useSnackbar = () => {
@@ -5,10 +5,14 @@ var sonner = require('sonner');
5
5
  var DefaultSnack = require('../components/Snackbar/DefaultSnack.js');
6
6
 
7
7
  class SnackbarSonner {
8
+ _options;
9
+ constructor(options) {
10
+ this._options = { ...options, duration: options?.duration ?? 5e3 };
11
+ }
8
12
  custom(Component, options) {
9
13
  return sonner.toast.custom(() => Component, {
10
- ...options,
11
- duration: options?.duration ?? 5e3
14
+ ...this._options,
15
+ ...options
12
16
  });
13
17
  }
14
18
  show(type, message, options) {
@@ -23,7 +27,7 @@ class SnackbarSonner {
23
27
  }
24
28
  );
25
29
  },
26
- { ...options, duration: options?.duration ?? 5e3 }
30
+ { ...this._options, ...options }
27
31
  );
28
32
  }
29
33
  }
@@ -1,19 +1,7 @@
1
1
  import React__default, { useRef } from 'react';
2
- import '@internationalized/date';
3
- import 'react-aria';
4
- import 'react-stately';
5
- import '@floating-ui/react';
6
- import 'currency.js';
7
- import { useOutsideClickListener } from '../../hooks/useOutsideClickListener.js';
8
- import { usePopoverContext } from '../Popover/Context.js';
9
2
 
10
3
  const Content = ({ children }) => {
11
- const { setIsOpen } = usePopoverContext();
12
4
  const ref = useRef(null);
13
- useOutsideClickListener({
14
- ref,
15
- onClickOutside: () => setIsOpen(false)
16
- });
17
5
  return /* @__PURE__ */ React__default.createElement("div", { ref }, children);
18
6
  };
19
7
 
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { IoMenu } from 'react-icons/io5';
2
+ import { IoCloseOutline, IoMenu } from 'react-icons/io5';
3
3
  import { useMenubar } from '../../provider/MenubarProvider.js';
4
4
  import '../../provider/SnackbarProvider.js';
5
5
  import { menubar } from '../../styles/menubar.js';
@@ -15,7 +15,7 @@ const Header = ({ children, className, ...rest }) => {
15
15
  "data-testid": "header-menubar",
16
16
  ...rest
17
17
  },
18
- /* @__PURE__ */ React__default.createElement(Button, { variants: { size: "square" }, onClick: () => setShow(!show) }, /* @__PURE__ */ React__default.createElement(IoMenu, { size: 16 })),
18
+ /* @__PURE__ */ React__default.createElement(Button, { variants: { size: "square" }, onClick: () => setShow(!show) }, show ? /* @__PURE__ */ React__default.createElement(IoCloseOutline, { size: 16 }) : /* @__PURE__ */ React__default.createElement(IoMenu, { size: 16 })),
19
19
  children
20
20
  );
21
21
  };
@@ -1,8 +1,9 @@
1
1
  import React__default from 'react';
2
2
  import { MenubarProvider } from '../../provider/MenubarProvider.js';
3
+ import '../../provider/SnackbarProvider.js';
3
4
 
4
- const Root = ({ children, ...rest }) => {
5
- return /* @__PURE__ */ React__default.createElement(MenubarProvider, null, /* @__PURE__ */ React__default.createElement("div", { ...rest }, children));
5
+ const Root = ({ children }) => {
6
+ return /* @__PURE__ */ React__default.createElement(MenubarProvider, null, children);
6
7
  };
7
8
 
8
9
  export { Root as default };
@@ -1,16 +1,27 @@
1
1
  import clsx from 'clsx';
2
2
  import React__default from 'react';
3
3
  import { usePopoverContext } from './Context.js';
4
+ import { FloatingFocusManager } from '@floating-ui/react';
4
5
 
5
6
  const PopoverContent = ({
6
7
  children,
7
8
  className
8
9
  }) => {
9
- const { isOpen, x, y, strategy, floatingStyles, refs } = usePopoverContext();
10
- return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, isOpen ? /* @__PURE__ */ React__default.createElement(
10
+ const {
11
+ isOpen,
12
+ x,
13
+ y,
14
+ strategy,
15
+ floatingStyles,
16
+ refs,
17
+ getFloatingProps,
18
+ context
19
+ } = usePopoverContext();
20
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, isOpen && /* @__PURE__ */ React__default.createElement(FloatingFocusManager, { context, modal: false }, /* @__PURE__ */ React__default.createElement(
11
21
  "div",
12
22
  {
13
23
  ref: refs.setFloating,
24
+ ...getFloatingProps(),
14
25
  className: clsx(
15
26
  "border border-gray-200 bg-black p-[0px] rounded-md shadow-lg z-popover",
16
27
  className
@@ -23,7 +34,7 @@ const PopoverContent = ({
23
34
  }
24
35
  },
25
36
  children
26
- ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null));
37
+ )));
27
38
  };
28
39
 
29
40
  export { PopoverContent };
@@ -3,7 +3,8 @@ import { usePopoverContext } from './Context.js';
3
3
 
4
4
  const PopoverTrigger = ({ children }) => {
5
5
  const { triggerProps } = usePopoverContext();
6
- return cloneWithProps(children, triggerProps);
6
+ const isDisabled = children.props?.disabled;
7
+ return cloneWithProps(children, isDisabled ? {} : triggerProps);
7
8
  };
8
9
 
9
10
  export { PopoverTrigger };
@@ -1,20 +1,8 @@
1
1
  import clsx from 'clsx';
2
2
  import React__default, { useRef } from 'react';
3
- import '@internationalized/date';
4
- import 'react-aria';
5
- import 'react-stately';
6
- import '@floating-ui/react';
7
- import 'currency.js';
8
- import { useOutsideClickListener } from '../../hooks/useOutsideClickListener.js';
9
- import { usePopoverContext } from '../Popover/Context.js';
10
3
 
11
4
  const Content = ({ children, className }) => {
12
- const { setIsOpen } = usePopoverContext();
13
5
  const ref = useRef(null);
14
- useOutsideClickListener({
15
- ref,
16
- onClickOutside: () => setIsOpen(false)
17
- });
18
6
  return /* @__PURE__ */ React__default.createElement("div", { className: clsx("w-full relative", className), ref }, children);
19
7
  };
20
8
 
@@ -19,16 +19,7 @@ const SelectTrigger = ({
19
19
  return multiLabelSelected ? multiLabelSelected(value.length) : `${value.length} items selected`;
20
20
  return labelExtractor(value);
21
21
  }, [label, value]);
22
- return /* @__PURE__ */ React__default.createElement(Popover.Trigger, null, /* @__PURE__ */ React__default.createElement(
23
- "button",
24
- {
25
- className: button({ disabled, className: "bg-white" }),
26
- disabled,
27
- role: "button"
28
- },
29
- /* @__PURE__ */ React__default.createElement("span", { "data-testid": "select-placeholder" }, _placeholder),
30
- /* @__PURE__ */ React__default.createElement(IoChevronDownOutline, null)
31
- ));
22
+ return /* @__PURE__ */ React__default.createElement(Popover.Trigger, null, /* @__PURE__ */ React__default.createElement("button", { className: button(), disabled, role: "button" }, /* @__PURE__ */ React__default.createElement("span", { "data-testid": "select-placeholder" }, _placeholder), /* @__PURE__ */ React__default.createElement(IoChevronDownOutline, null)));
32
23
  };
33
24
 
34
25
  export { SelectTrigger };
@@ -1,5 +1,5 @@
1
1
  import { useState, useEffect } from 'react';
2
- import { useFloating, autoUpdate, offset, flip, shift, arrow } from '@floating-ui/react';
2
+ import { useFloating, autoUpdate, offset, flip, shift, arrow, useClick, useDismiss, useRole, useInteractions } from '@floating-ui/react';
3
3
 
4
4
  const useFloatingLogic = ({
5
5
  placement,
@@ -11,6 +11,8 @@ const useFloatingLogic = ({
11
11
  {
12
12
  placement,
13
13
  whileElementsMounted: autoUpdate,
14
+ open: isOpen,
15
+ onOpenChange: setIsOpen,
14
16
  middleware: [
15
17
  offset(10),
16
18
  flip({
@@ -22,6 +24,14 @@ const useFloatingLogic = ({
22
24
  ]
23
25
  }
24
26
  );
27
+ const click = useClick(context);
28
+ const dismiss = useDismiss(context);
29
+ const role = useRole(context);
30
+ const { getReferenceProps, getFloatingProps } = useInteractions([
31
+ click,
32
+ dismiss,
33
+ role
34
+ ]);
25
35
  useEffect(() => {
26
36
  if (isOpen) update();
27
37
  }, [isOpen, update]);
@@ -33,7 +43,8 @@ const useFloatingLogic = ({
33
43
  },
34
44
  ...trigger === "click" && {
35
45
  onClick: () => setIsOpen((prev) => !prev)
36
- }
46
+ },
47
+ ...getReferenceProps()
37
48
  };
38
49
  return {
39
50
  isOpen,
@@ -44,7 +55,9 @@ const useFloatingLogic = ({
44
55
  refs,
45
56
  context,
46
57
  floatingStyles,
47
- triggerProps
58
+ triggerProps,
59
+ getReferenceProps,
60
+ getFloatingProps
48
61
  };
49
62
  };
50
63
 
package/dist/esm/index.js CHANGED
@@ -36,6 +36,14 @@ export { TimeField } from './components/TimeField/TimeField.js';
36
36
  export { TimeFieldInput } from './components/TimeField/TimeFieldInput.js';
37
37
  export { Toggle } from './components/Toggle.js';
38
38
  export { Tooltip } from './components/Tooltip.js';
39
+ import 'react';
40
+ import 'clsx';
41
+ import './styles/menubar.js';
42
+ import './components/Menubar/Dropdown.js';
43
+ import './components/Menubar/Item.js';
44
+ import './components/Menubar/MostUsed.js';
45
+ import './components/Menubar/MostUsedItem.js';
46
+ import './components/Menubar/SubItem.js';
39
47
  export { useCalendar } from './hooks/useCalendar.js';
40
48
  export { useCalendarCell } from './hooks/useCalendarCell.js';
41
49
  export { useCalendarGrid } from './hooks/useCalendarGrid.js';
@@ -1,4 +1,10 @@
1
- import React__default, { createContext, useContext } from 'react';
1
+ import React__default, { createContext, useRef, useCallback, useContext } from 'react';
2
+ import '@internationalized/date';
3
+ import 'react-aria';
4
+ import 'react-stately';
5
+ import '@floating-ui/react';
6
+ import 'currency.js';
7
+ import { useOutsideClickListener } from '../hooks/useOutsideClickListener.js';
2
8
 
3
9
  const MenubarContext = createContext({
4
10
  show: false,
@@ -6,7 +12,15 @@ const MenubarContext = createContext({
6
12
  });
7
13
  const MenubarProvider = ({ children }) => {
8
14
  const [show, setShow] = React__default.useState(false);
9
- return /* @__PURE__ */ React__default.createElement(MenubarContext.Provider, { value: { show, setShow } }, children);
15
+ const ref = useRef(null);
16
+ const onClickOutside = useCallback(() => {
17
+ setShow(false);
18
+ }, []);
19
+ useOutsideClickListener({
20
+ ref,
21
+ onClickOutside
22
+ });
23
+ return /* @__PURE__ */ React__default.createElement(MenubarContext.Provider, { value: { show, setShow } }, /* @__PURE__ */ React__default.createElement("div", { ref }, children));
10
24
  };
11
25
  const useMenubar = () => {
12
26
  const context = useContext(MenubarContext);
@@ -3,8 +3,11 @@ import { Toaster } from 'sonner';
3
3
  import { SnackbarSonner } from '../service/SnackbarSonner.js';
4
4
 
5
5
  const SnackbarContext = createContext(null);
6
- const SnackbarProvider = ({ children }) => {
7
- const snackbar = new SnackbarSonner();
6
+ const SnackbarProvider = ({
7
+ children,
8
+ options
9
+ }) => {
10
+ const snackbar = new SnackbarSonner(options);
8
11
  return /* @__PURE__ */ React__default.createElement(SnackbarContext.Provider, { value: { snackbar } }, children, /* @__PURE__ */ React__default.createElement(Toaster, null));
9
12
  };
10
13
  const useSnackbar = () => {
@@ -3,10 +3,14 @@ import { toast } from 'sonner';
3
3
  import { DefaultSnack } from '../components/Snackbar/DefaultSnack.js';
4
4
 
5
5
  class SnackbarSonner {
6
+ _options;
7
+ constructor(options) {
8
+ this._options = { ...options, duration: options?.duration ?? 5e3 };
9
+ }
6
10
  custom(Component, options) {
7
11
  return toast.custom(() => Component, {
8
- ...options,
9
- duration: options?.duration ?? 5e3
12
+ ...this._options,
13
+ ...options
10
14
  });
11
15
  }
12
16
  show(type, message, options) {
@@ -21,7 +25,7 @@ class SnackbarSonner {
21
25
  }
22
26
  );
23
27
  },
24
- { ...options, duration: options?.duration ?? 5e3 }
28
+ { ...this._options, ...options }
25
29
  );
26
30
  }
27
31
  }
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { DefaultProps } from './interface';
3
3
  import { MostUsedItemProps } from './MostUsedItem';
4
- interface MenuItem extends DefaultProps {
4
+ export interface MenuItem extends DefaultProps {
5
5
  title: string;
6
6
  items?: MenuItem[];
7
7
  }
8
- interface MenuCategory {
8
+ export interface MenuCategory {
9
9
  title: string;
10
10
  items: MenuItem[];
11
11
  }
@@ -1,6 +1,6 @@
1
- import React, { ReactNode } from 'react';
2
- export interface RootProps extends React.HTMLAttributes<HTMLDivElement> {
1
+ import { ReactNode } from 'react';
2
+ export interface RootProps {
3
3
  children?: ReactNode;
4
4
  }
5
- declare const Root: ({ children, ...rest }: RootProps) => JSX.Element;
5
+ declare const Root: ({ children }: RootProps) => JSX.Element;
6
6
  export default Root;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const Menubar: {
3
- Root: ({ children, ...rest }: import("./Root").RootProps) => JSX.Element;
3
+ Root: ({ children }: import("./Root").RootProps) => JSX.Element;
4
4
  Header: ({ children, className, ...rest }: import("./Header").HeaderProps) => JSX.Element;
5
5
  HeaderLeft: ({ children, ...rest }: import("./interface").DefaultProps) => JSX.Element;
6
6
  Search: (props: import("..").InputSearchProps) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Placement } from '@floating-ui/react';
2
+ import { FloatingContext, Placement, UseInteractionsReturn } from '@floating-ui/react';
3
3
  interface ContextProps {
4
4
  triggerProps?: any;
5
5
  refs?: any;
@@ -12,6 +12,9 @@ interface ContextProps {
12
12
  placement?: Placement;
13
13
  setPlacement?: React.Dispatch<React.SetStateAction<Placement | undefined>>;
14
14
  setTrigger?: React.Dispatch<React.SetStateAction<'hover' | 'click'>>;
15
+ getReferenceProps: UseInteractionsReturn['getReferenceProps'];
16
+ getFloatingProps: UseInteractionsReturn['getFloatingProps'];
17
+ context: FloatingContext;
15
18
  }
16
19
  export declare const Context: React.Context<ContextProps | undefined>;
17
20
  export declare const usePopoverContext: () => ContextProps;
@@ -28,3 +28,4 @@ export * from './TextArea';
28
28
  export * from './TimeField';
29
29
  export * from './Toggle';
30
30
  export * from './Tooltip';
31
+ export * from './Menubar/DropdownRoot';
@@ -42,5 +42,7 @@ export declare const useFloatingLogic: ({ placement, trigger, arrowRef, }: Float
42
42
  onMouseLeave?: (() => void) | undefined;
43
43
  ref: ((node: import("@floating-ui/react-dom").ReferenceType | null) => void) & ((node: import("@floating-ui/react").ReferenceType | null) => void);
44
44
  };
45
+ getReferenceProps: (userProps?: import("react").HTMLProps<Element> | undefined) => Record<string, unknown>;
46
+ getFloatingProps: (userProps?: import("react").HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
45
47
  };
46
48
  export {};
@@ -1,10 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
+ import { type ExternalToast } from 'sonner';
2
3
  import { SnackbarSonner } from '../service/SnackbarSonner';
3
4
  interface SnackbarProviderProps {
4
5
  snackbar: SnackbarSonner;
5
6
  }
6
- export declare const SnackbarProvider: ({ children }: {
7
+ export declare const SnackbarProvider: ({ children, options, }: {
7
8
  children: ReactNode;
9
+ options?: ExternalToast;
8
10
  }) => JSX.Element;
9
11
  export declare const useSnackbar: () => SnackbarProviderProps;
10
12
  export {};
@@ -1,7 +1,8 @@
1
- import { ReactElement } from 'react';
2
1
  import { SnackbarVariants } from '@tecsinapse/cortex-core';
2
+ import { ReactElement } from 'react';
3
3
  export type TypeSnack = SnackbarVariants['intent'];
4
4
  export interface ISnackbar<T> {
5
+ _options?: T;
5
6
  show(type: TypeSnack, message: string, options?: T): any;
6
7
  custom(component: ReactElement, options?: T): any;
7
8
  }
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  import { ExternalToast } from 'sonner';
3
3
  import { ISnackbar, TypeSnack } from './ISnackbar';
4
4
  export declare class SnackbarSonner implements ISnackbar<ExternalToast> {
5
+ _options?: ExternalToast;
6
+ constructor(options?: ExternalToast);
5
7
  custom(Component: React.ReactElement, options?: ExternalToast): string | number;
6
8
  show(type: TypeSnack, message: string, options?: Omit<ExternalToast, 'className' | 'style'>): string | number;
7
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecsinapse/cortex-react",
3
- "version": "1.5.2",
3
+ "version": "1.5.4-beta.0",
4
4
  "description": "React components based in @tecsinapse/cortex-core",
5
5
  "license": "MIT",
6
6
  "main": "dist/esm/index.js",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@floating-ui/react": "^0.26.18",
22
22
  "@internationalized/date": "*",
23
- "@tecsinapse/cortex-core": "0.3.2",
23
+ "@tecsinapse/cortex-core": "0.3.3-beta.0",
24
24
  "clsx": "*",
25
25
  "react-aria": "^3.33.1",
26
26
  "react-icons": "^5.2.1",
@@ -45,5 +45,5 @@
45
45
  "react-dom": ">=18.0.0",
46
46
  "tailwind": ">=3.3.0"
47
47
  },
48
- "gitHead": "5b8a619a4dad4ec8a423e1e836d211262c1fc2bd"
48
+ "gitHead": "4c158be7dcd2d5609a2a84b59189c1d74ca5f04c"
49
49
  }