@tecsinapse/cortex-react 1.3.0-beta.31 → 1.3.0-beta.33

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.
@@ -2,31 +2,31 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactImask = require('react-imask');
5
- var index = require('./index.js');
5
+ var Root = require('./Root.js');
6
6
 
7
- const useIMaskLocal = (mask, inputProps, ref, onChangeMask) => {
8
- const { ref: iMaskRef, maskRef } = reactImask.useIMask(mask, {
9
- onAccept: (value, mask2) => {
10
- onChangeMask?.({
11
- unmaskedValue: mask2._unmaskedValue,
12
- value
13
- });
14
- },
15
- ref: ref ? ref : React.createRef()
16
- });
17
- React.useEffect(() => {
18
- if (inputProps.value === "") {
19
- maskRef.current?.updateValue();
20
- }
21
- }, [maskRef, inputProps.value]);
22
- return {
23
- iMaskRef
24
- };
25
- };
26
7
  const InputMask = React.forwardRef(
27
- ({ mask, onChange, ...rest }, ref) => {
28
- const { iMaskRef } = useIMaskLocal(mask, rest, ref, onChange);
29
- return /* @__PURE__ */ React.createElement(index.Input.Root, { ...rest, ref: iMaskRef });
8
+ ({ mask, onChange, value, controlled, ...rest }, ref) => {
9
+ const {
10
+ ref: iMaskRef,
11
+ setUnmaskedValue,
12
+ maskRef
13
+ } = reactImask.useIMask(mask, {
14
+ onAccept: (value2, mask2) => {
15
+ onChange?.({
16
+ unmaskedValue: mask2._unmaskedValue,
17
+ value: value2
18
+ });
19
+ },
20
+ ref: ref ? ref : React.createRef(),
21
+ defaultValue: String(value ?? "")
22
+ });
23
+ React.useEffect(() => {
24
+ if (value && controlled) {
25
+ setUnmaskedValue(String(value));
26
+ maskRef.current?.updateValue();
27
+ }
28
+ }, [value, controlled]);
29
+ return /* @__PURE__ */ React.createElement(Root.InputRoot, { ...rest, ref: iMaskRef });
30
30
  }
31
31
  );
32
32
 
@@ -2,12 +2,14 @@
2
2
 
3
3
  var React = require('react');
4
4
  var io5 = require('react-icons/io5');
5
- var index = require('./index.js');
6
5
  require('@internationalized/date');
7
6
  require('react-aria');
8
7
  require('react-stately');
9
8
  var useDebouncedState = require('../../hooks/useDebouncedState.js');
10
9
  require('@floating-ui/react');
10
+ var Box = require('./Box.js');
11
+ var Face = require('./Face.js');
12
+ var Left = require('./Left.js');
11
13
 
12
14
  const InputSearch = React.forwardRef(
13
15
  ({
@@ -24,7 +26,7 @@ const InputSearch = React.forwardRef(
24
26
  onChange(searchInputEvent);
25
27
  }
26
28
  }, [bouncedTextEvent]);
27
- return /* @__PURE__ */ React.createElement(index.Input.Face, { variants, className }, /* @__PURE__ */ React.createElement(index.Input.Left, null, /* @__PURE__ */ React.createElement(io5.IoSearchOutline, { "data-testid": "icon-search-left" })), /* @__PURE__ */ React.createElement(index.Input.Box, { ...rest, ref, onChange: (e) => setSearchInputEvent(e) }));
29
+ return /* @__PURE__ */ React.createElement(Face.InputFace, { variants, className }, /* @__PURE__ */ React.createElement(Left.InputLeft, null, /* @__PURE__ */ React.createElement(io5.IoSearchOutline, { "data-testid": "icon-search-left" })), /* @__PURE__ */ React.createElement(Box.InputBox, { ...rest, ref, onChange: (e) => setSearchInputEvent(e) }));
28
30
  }
29
31
  );
30
32
 
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('./index.js');
4
+ var Provider = require('./Provider.js');
5
5
 
6
6
  const PopoverRoot = ({
7
7
  children,
8
8
  placement,
9
9
  trigger
10
10
  }) => {
11
- return /* @__PURE__ */ React.createElement(index.Popover.Provider, { placement, trigger }, children);
11
+ return /* @__PURE__ */ React.createElement(Provider.PopoverProvider, { placement, trigger }, children);
12
12
  };
13
13
 
14
14
  exports.PopoverRoot = PopoverRoot;
@@ -15,7 +15,7 @@ const Content = ({ children }) => {
15
15
  ref,
16
16
  onClickOutside: () => setIsOpen(false)
17
17
  });
18
- return /* @__PURE__ */ React.createElement("div", { className: "w-full relative bg-white", ref }, children);
18
+ return /* @__PURE__ */ React.createElement("div", { className: "w-full relative", ref }, children);
19
19
  };
20
20
 
21
21
  exports.Content = Content;
@@ -2,13 +2,13 @@
2
2
 
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
- var index = require('./index.js');
6
5
  require('@internationalized/date');
7
6
  require('react-aria');
8
7
  require('react-stately');
9
8
  require('@floating-ui/react');
10
9
  var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
11
10
  var Context = require('../Popover/Context.js');
11
+ var Option = require('./Option.js');
12
12
  var SkeletonOptions = require('./SkeletonOptions.js');
13
13
  var context = require('./context.js');
14
14
 
@@ -29,7 +29,7 @@ const SelectGroupedOptions = ({
29
29
  [onSelect]
30
30
  );
31
31
  return isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
32
- index.Select.Option,
32
+ Option.SelectOption,
33
33
  {
34
34
  grouped: true,
35
35
  option,
@@ -2,12 +2,12 @@
2
2
 
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
- var index = require('./index.js');
6
5
  require('@internationalized/date');
7
6
  require('react-aria');
8
7
  require('react-stately');
9
8
  require('@floating-ui/react');
10
9
  var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
10
+ var MultiOption = require('./MultiOption.js');
11
11
  var SkeletonOptions = require('./SkeletonOptions.js');
12
12
  var context = require('./context.js');
13
13
  var utils = require('./utils.js');
@@ -32,7 +32,7 @@ const SelectMultiGroupedOptions = ({
32
32
  },
33
33
  children,
34
34
  isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
35
- index.Select.MultiOption,
35
+ MultiOption.SelectMultiOption,
36
36
  {
37
37
  grouped: true,
38
38
  option,
@@ -2,12 +2,12 @@
2
2
 
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
- var index = require('./index.js');
6
5
  require('@internationalized/date');
7
6
  require('react-aria');
8
7
  require('react-stately');
9
8
  require('@floating-ui/react');
10
9
  var useSelectOptions = require('../../hooks/useSelectOptions.js');
10
+ var MultiOption = require('./MultiOption.js');
11
11
  var SkeletonOptions = require('./SkeletonOptions.js');
12
12
  var context = require('./context.js');
13
13
  var utils = require('./utils.js');
@@ -21,7 +21,7 @@ const SelectMultiOptions = ({
21
21
  const { keyExtractor, value: currentValue = [] } = React.useContext(context.SelectContext);
22
22
  const { options: _options, isLoading } = useSelectOptions.useSelectOptions({ options });
23
23
  return /* @__PURE__ */ React.createElement(context.SelectMultiOptionsContext.Provider, { value: { onSelect, options: _options } }, isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, children, _options?.map((option) => /* @__PURE__ */ React.createElement(
24
- index.Select.MultiOption,
24
+ MultiOption.SelectMultiOption,
25
25
  {
26
26
  option,
27
27
  key: keyExtractor(option),
@@ -2,13 +2,13 @@
2
2
 
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
- var index = require('./index.js');
6
5
  require('@internationalized/date');
7
6
  require('react-aria');
8
7
  require('react-stately');
9
8
  require('@floating-ui/react');
10
9
  var useSelectOptions = require('../../hooks/useSelectOptions.js');
11
10
  var Context = require('../Popover/Context.js');
11
+ var Option = require('./Option.js');
12
12
  var SkeletonOptions = require('./SkeletonOptions.js');
13
13
  var context = require('./context.js');
14
14
 
@@ -28,7 +28,7 @@ const SelectOptions = ({
28
28
  [onSelect]
29
29
  );
30
30
  return isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, _options?.map((option) => /* @__PURE__ */ React.createElement(
31
- index.Select.Option,
31
+ Option.SelectOption,
32
32
  {
33
33
  option,
34
34
  key: keyExtractor(option),
@@ -22,7 +22,7 @@ const SelectTrigger = ({
22
22
  return /* @__PURE__ */ React.createElement(index.Popover.Trigger, null, /* @__PURE__ */ React.createElement(
23
23
  "button",
24
24
  {
25
- className: button({ disabled }),
25
+ className: button({ disabled, className: "bg-white" }),
26
26
  disabled,
27
27
  role: "button"
28
28
  },
@@ -1,30 +1,30 @@
1
1
  import React__default, { createRef, useEffect } from 'react';
2
2
  import { useIMask } from 'react-imask';
3
- import { Input } from './index.js';
3
+ import { InputRoot } from './Root.js';
4
4
 
5
- const useIMaskLocal = (mask, inputProps, ref, onChangeMask) => {
6
- const { ref: iMaskRef, maskRef } = useIMask(mask, {
7
- onAccept: (value, mask2) => {
8
- onChangeMask?.({
9
- unmaskedValue: mask2._unmaskedValue,
10
- value
11
- });
12
- },
13
- ref: ref ? ref : createRef()
14
- });
15
- useEffect(() => {
16
- if (inputProps.value === "") {
17
- maskRef.current?.updateValue();
18
- }
19
- }, [maskRef, inputProps.value]);
20
- return {
21
- iMaskRef
22
- };
23
- };
24
5
  const InputMask = React__default.forwardRef(
25
- ({ mask, onChange, ...rest }, ref) => {
26
- const { iMaskRef } = useIMaskLocal(mask, rest, ref, onChange);
27
- return /* @__PURE__ */ React__default.createElement(Input.Root, { ...rest, ref: iMaskRef });
6
+ ({ mask, onChange, value, controlled, ...rest }, ref) => {
7
+ const {
8
+ ref: iMaskRef,
9
+ setUnmaskedValue,
10
+ maskRef
11
+ } = useIMask(mask, {
12
+ onAccept: (value2, mask2) => {
13
+ onChange?.({
14
+ unmaskedValue: mask2._unmaskedValue,
15
+ value: value2
16
+ });
17
+ },
18
+ ref: ref ? ref : createRef(),
19
+ defaultValue: String(value ?? "")
20
+ });
21
+ useEffect(() => {
22
+ if (value && controlled) {
23
+ setUnmaskedValue(String(value));
24
+ maskRef.current?.updateValue();
25
+ }
26
+ }, [value, controlled]);
27
+ return /* @__PURE__ */ React__default.createElement(InputRoot, { ...rest, ref: iMaskRef });
28
28
  }
29
29
  );
30
30
 
@@ -1,11 +1,13 @@
1
1
  import React__default, { useState, useEffect } from 'react';
2
2
  import { IoSearchOutline } from 'react-icons/io5';
3
- import { Input } from './index.js';
4
3
  import '@internationalized/date';
5
4
  import 'react-aria';
6
5
  import 'react-stately';
7
6
  import { useDebouncedState } from '../../hooks/useDebouncedState.js';
8
7
  import '@floating-ui/react';
8
+ import { InputBox } from './Box.js';
9
+ import { InputFace } from './Face.js';
10
+ import { InputLeft } from './Left.js';
9
11
 
10
12
  const InputSearch = React__default.forwardRef(
11
13
  ({
@@ -22,7 +24,7 @@ const InputSearch = React__default.forwardRef(
22
24
  onChange(searchInputEvent);
23
25
  }
24
26
  }, [bouncedTextEvent]);
25
- return /* @__PURE__ */ React__default.createElement(Input.Face, { variants, className }, /* @__PURE__ */ React__default.createElement(Input.Left, null, /* @__PURE__ */ React__default.createElement(IoSearchOutline, { "data-testid": "icon-search-left" })), /* @__PURE__ */ React__default.createElement(Input.Box, { ...rest, ref, onChange: (e) => setSearchInputEvent(e) }));
27
+ return /* @__PURE__ */ React__default.createElement(InputFace, { variants, className }, /* @__PURE__ */ React__default.createElement(InputLeft, null, /* @__PURE__ */ React__default.createElement(IoSearchOutline, { "data-testid": "icon-search-left" })), /* @__PURE__ */ React__default.createElement(InputBox, { ...rest, ref, onChange: (e) => setSearchInputEvent(e) }));
26
28
  }
27
29
  );
28
30
 
@@ -1,12 +1,12 @@
1
1
  import React__default from 'react';
2
- import { Popover } from './index.js';
2
+ import { PopoverProvider } from './Provider.js';
3
3
 
4
4
  const PopoverRoot = ({
5
5
  children,
6
6
  placement,
7
7
  trigger
8
8
  }) => {
9
- return /* @__PURE__ */ React__default.createElement(Popover.Provider, { placement, trigger }, children);
9
+ return /* @__PURE__ */ React__default.createElement(PopoverProvider, { placement, trigger }, children);
10
10
  };
11
11
 
12
12
  export { PopoverRoot };
@@ -13,7 +13,7 @@ const Content = ({ children }) => {
13
13
  ref,
14
14
  onClickOutside: () => setIsOpen(false)
15
15
  });
16
- return /* @__PURE__ */ React__default.createElement("div", { className: "w-full relative bg-white", ref }, children);
16
+ return /* @__PURE__ */ React__default.createElement("div", { className: "w-full relative", ref }, children);
17
17
  };
18
18
 
19
19
  export { Content };
@@ -1,12 +1,12 @@
1
1
  import { selectVariants } from '@tecsinapse/cortex-core';
2
2
  import React__default, { useContext, useCallback } from 'react';
3
- import { Select } from './index.js';
4
3
  import '@internationalized/date';
5
4
  import 'react-aria';
6
5
  import 'react-stately';
7
6
  import '@floating-ui/react';
8
7
  import { useSelectGroupedOptions } from '../../hooks/useSelectGroupedOptions.js';
9
8
  import { usePopoverContext } from '../Popover/Context.js';
9
+ import { SelectOption } from './Option.js';
10
10
  import { SkeletonOptions } from './SkeletonOptions.js';
11
11
  import { SelectContext } from './context.js';
12
12
 
@@ -27,7 +27,7 @@ const SelectGroupedOptions = ({
27
27
  [onSelect]
28
28
  );
29
29
  return isLoading ? /* @__PURE__ */ React__default.createElement(SkeletonOptions, null) : /* @__PURE__ */ React__default.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React__default.createElement("div", { key }, /* @__PURE__ */ React__default.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React__default.createElement(
30
- Select.Option,
30
+ SelectOption,
31
31
  {
32
32
  grouped: true,
33
33
  option,
@@ -1,11 +1,11 @@
1
1
  import { selectVariants } from '@tecsinapse/cortex-core';
2
2
  import React__default, { useContext, useMemo } from 'react';
3
- import { Select } from './index.js';
4
3
  import '@internationalized/date';
5
4
  import 'react-aria';
6
5
  import 'react-stately';
7
6
  import '@floating-ui/react';
8
7
  import { useSelectGroupedOptions } from '../../hooks/useSelectGroupedOptions.js';
8
+ import { SelectMultiOption } from './MultiOption.js';
9
9
  import { SkeletonOptions } from './SkeletonOptions.js';
10
10
  import { SelectContext, SelectMultiOptionsContext } from './context.js';
11
11
  import { handleSelectMulti } from './utils.js';
@@ -30,7 +30,7 @@ const SelectMultiGroupedOptions = ({
30
30
  },
31
31
  children,
32
32
  isLoading ? /* @__PURE__ */ React__default.createElement(SkeletonOptions, null) : /* @__PURE__ */ React__default.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React__default.createElement("div", { key }, /* @__PURE__ */ React__default.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React__default.createElement(
33
- Select.MultiOption,
33
+ SelectMultiOption,
34
34
  {
35
35
  grouped: true,
36
36
  option,
@@ -1,11 +1,11 @@
1
1
  import { selectVariants } from '@tecsinapse/cortex-core';
2
2
  import React__default, { useContext } from 'react';
3
- import { Select } from './index.js';
4
3
  import '@internationalized/date';
5
4
  import 'react-aria';
6
5
  import 'react-stately';
7
6
  import '@floating-ui/react';
8
7
  import { useSelectOptions } from '../../hooks/useSelectOptions.js';
8
+ import { SelectMultiOption } from './MultiOption.js';
9
9
  import { SkeletonOptions } from './SkeletonOptions.js';
10
10
  import { SelectContext, SelectMultiOptionsContext } from './context.js';
11
11
  import { handleSelectMulti } from './utils.js';
@@ -19,7 +19,7 @@ const SelectMultiOptions = ({
19
19
  const { keyExtractor, value: currentValue = [] } = useContext(SelectContext);
20
20
  const { options: _options, isLoading } = useSelectOptions({ options });
21
21
  return /* @__PURE__ */ React__default.createElement(SelectMultiOptionsContext.Provider, { value: { onSelect, options: _options } }, isLoading ? /* @__PURE__ */ React__default.createElement(SkeletonOptions, null) : /* @__PURE__ */ React__default.createElement("ul", { role: "select", className: list() }, children, _options?.map((option) => /* @__PURE__ */ React__default.createElement(
22
- Select.MultiOption,
22
+ SelectMultiOption,
23
23
  {
24
24
  option,
25
25
  key: keyExtractor(option),
@@ -1,12 +1,12 @@
1
1
  import { selectVariants } from '@tecsinapse/cortex-core';
2
2
  import React__default, { useContext, useCallback } from 'react';
3
- import { Select } from './index.js';
4
3
  import '@internationalized/date';
5
4
  import 'react-aria';
6
5
  import 'react-stately';
7
6
  import '@floating-ui/react';
8
7
  import { useSelectOptions } from '../../hooks/useSelectOptions.js';
9
8
  import { usePopoverContext } from '../Popover/Context.js';
9
+ import { SelectOption } from './Option.js';
10
10
  import { SkeletonOptions } from './SkeletonOptions.js';
11
11
  import { SelectContext } from './context.js';
12
12
 
@@ -26,7 +26,7 @@ const SelectOptions = ({
26
26
  [onSelect]
27
27
  );
28
28
  return isLoading ? /* @__PURE__ */ React__default.createElement(SkeletonOptions, null) : /* @__PURE__ */ React__default.createElement("ul", { role: "select", className: list() }, _options?.map((option) => /* @__PURE__ */ React__default.createElement(
29
- Select.Option,
29
+ SelectOption,
30
30
  {
31
31
  option,
32
32
  key: keyExtractor(option),
@@ -20,7 +20,7 @@ const SelectTrigger = ({
20
20
  return /* @__PURE__ */ React__default.createElement(Popover.Trigger, null, /* @__PURE__ */ React__default.createElement(
21
21
  "button",
22
22
  {
23
- className: button({ disabled }),
23
+ className: button({ disabled, className: "bg-white" }),
24
24
  disabled,
25
25
  role: "button"
26
26
  },
@@ -28,4 +28,5 @@ export interface Mask extends Record<string, any> {
28
28
  export interface InputMaskProps extends Omit<InputProps, 'onChange'> {
29
29
  onChange?: (e: InputMaskEvent) => void;
30
30
  mask: Mask;
31
+ controlled?: boolean;
31
32
  }
@@ -1,2 +1,2 @@
1
- import { SelectGroupedOptionsProps } from '.';
1
+ import { SelectGroupedOptionsProps } from './types';
2
2
  export declare const SelectGroupedOptions: <T>({ onSelect, groupedLabelExtractor, options, }: SelectGroupedOptionsProps<T>) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import { SelectMultiGroupedOptionsProps } from '.';
1
+ import { SelectMultiGroupedOptionsProps } from './types';
2
2
  export declare const SelectMultiGroupedOptions: <T>({ onSelect, groupedLabelExtractor, options, children, }: SelectMultiGroupedOptionsProps<T>) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import { SelectMultiOptionsProps } from '.';
1
+ import { SelectMultiOptionsProps } from './types';
2
2
  export declare const SelectMultiOptions: <T>({ onSelect, options, children, }: SelectMultiOptionsProps<T>) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import { SelectOptionsProps } from '.';
1
+ import { SelectOptionsProps } from './types';
2
2
  export declare const SelectOptions: <T>({ onSelect, options, }: SelectOptionsProps<T>) => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecsinapse/cortex-react",
3
- "version": "1.3.0-beta.31",
3
+ "version": "1.3.0-beta.33",
4
4
  "description": "React components based in @tecsinapse/cortex-core",
5
5
  "license": "MIT",
6
6
  "main": "dist/esm/index.js",
@@ -43,5 +43,5 @@
43
43
  "react-dom": ">=18.0.0",
44
44
  "tailwind": ">=3.3.0"
45
45
  },
46
- "gitHead": "cac77d615452fa145511f48fe32c76d4e10f79b1"
46
+ "gitHead": "f996aec807a7de3b51e645fe600c9e976369b35b"
47
47
  }