musae 0.1.32 → 0.1.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.
@@ -0,0 +1,12 @@
1
+ import { FieldError } from "react-hook-form";
2
+ import { ComponentProps } from "../../../types/element";
3
+ import React from "react";
4
+ type Props = ComponentProps & {
5
+ /**
6
+ * @description
7
+ * error
8
+ */
9
+ error?: FieldError;
10
+ };
11
+ declare const Error: ({ error, className, style }: Props) => React.JSX.Element;
12
+ export default Error;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { useClassNames } from '../../config/hooks.mjs';
3
+ import { ComponentToken, FormClassToken } from '../../../utils/class-name.mjs';
4
+ import clsx from 'clsx';
5
+ import { motion } from 'framer-motion';
6
+
7
+ const Error = ({ error, className, style }) => {
8
+ const classNames = useClassNames(ComponentToken.Form);
9
+ return (React.createElement(motion.div, { className: clsx(classNames[FormClassToken.FieldError], className), style: style, initial: { height: 0 }, animate: { height: "auto" }, exit: { height: 0 } }, error?.message));
10
+ };
11
+ var Error$1 = Error;
12
+
13
+ export { Error$1 as default };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { FormItemProps } from "./types";
2
+ import type { FormItemProps } from "../types";
3
3
  import type { RequiredIn } from "@aiszlab/relax/types";
4
4
  /**
5
5
  * @description
@@ -1,30 +1,22 @@
1
1
  import React, { useMemo, isValidElement, cloneElement } from 'react';
2
2
  import { useController } from 'react-hook-form';
3
- import { isRefable } from '@aiszlab/relax';
4
- import { useClassNames } from '../config/hooks.mjs';
5
- import { ComponentToken, FormClassToken } from '../../utils/class-name.mjs';
6
- import { props } from '../../node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
3
+ import { chain, isRefable } from '@aiszlab/relax';
4
+ import { useClassNames } from '../../config/hooks.mjs';
5
+ import { ComponentToken, FormClassToken } from '../../../utils/class-name.mjs';
6
+ import { props } from '../../../node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
7
7
  import clsx from 'clsx';
8
- import { useTheme } from '../theme/hooks.mjs';
9
- import { ColorToken } from '../../utils/colors.mjs';
10
- import Gridded from './gridded.mjs';
11
- import { typography } from '../theme/theme.mjs';
8
+ import { useTheme } from '../../theme/hooks.mjs';
9
+ import { ColorToken } from '../../../utils/colors.mjs';
10
+ import Layout from './layout.mjs';
11
+ import Error from './error.mjs';
12
+ import { AnimatePresence } from 'framer-motion';
12
13
 
13
14
  const styles = {
14
- explain: {
15
- paddingInline: "musae-1xkwav8",
16
- paddingStart: null,
17
- paddingLeft: null,
18
- paddingEnd: null,
19
- paddingRight: null,
20
- paddingBlock: "musae-24n1ab",
21
- paddingTop: null,
22
- paddingBottom: null,
23
- marginBottom: "musae-uwzj2e",
24
- $$css: true
25
- },
26
15
  error: props => [{
27
16
  color: "musae-19dipnz",
17
+ overflow: "musae-b3r6kr",
18
+ overflowX: null,
19
+ overflowY: null,
28
20
  $$css: true
29
21
  }, {
30
22
  "--color": props.color != null ? props.color : "initial"
@@ -40,6 +32,7 @@ const Field = ({
40
32
  ...props$1
41
33
  }) => {
42
34
  const classNames = useClassNames(ComponentToken.Form);
35
+ const theme = useTheme();
43
36
  const {
44
37
  field: {
45
38
  onBlur,
@@ -61,21 +54,14 @@ const Field = ({
61
54
  }
62
55
  }
63
56
  });
64
- const theme = useTheme();
65
57
  const children = useMemo(() => {
66
58
  const _isValidElement = isValidElement(props$1.children);
67
59
  if (!_isValidElement) return props$1.children;
68
60
  const _child = props$1.children;
69
61
  /// rewrite change and blur handler
70
62
  const handlers = {
71
- onChange: (...args) => {
72
- _child.props.onChange?.(...args);
73
- onChange(...args);
74
- },
75
- onBlur: (...args) => {
76
- _child.props.onBlur?.(...args);
77
- onBlur();
78
- }
63
+ onChange: chain(_child.props.onChange, onChange),
64
+ onBlur: chain(_child.props.onBlur, onBlur)
79
65
  };
80
66
  /// registe react hook form
81
67
  return cloneElement(props$1.children, {
@@ -89,30 +75,27 @@ const Field = ({
89
75
  });
90
76
  }, [props$1.children, name, value, invalid, ref, onChange, onBlur]);
91
77
  const styled = {
92
- explain: props(typography.body.medium, styles.explain)
93
- };
94
- const _error = useMemo(() => {
95
- if (!invalid) return null;
96
- const {
97
- className,
98
- style
99
- } = props(styles.error({
78
+ error: props(styles.error({
100
79
  color: theme.colors[ColorToken.Error]
101
- }));
102
- return React.createElement("span", {
103
- className: clsx(classNames[FormClassToken.ItemExplainError], className),
104
- style: style
105
- }, error?.message);
106
- }, [classNames, error?.message, invalid, theme.colors]);
80
+ })),
81
+ description: {
82
+ className: "musae-jbwyga"
83
+ }
84
+ };
85
+ const descriptions = [invalid && React.createElement(Error, {
86
+ error: error,
87
+ className: styled.error.className,
88
+ style: styled.error.style
89
+ })];
107
90
  return React.createElement("div", {
108
91
  className: clsx(classNames[FormClassToken.Item])
109
- }, React.createElement(Gridded, {
92
+ }, React.createElement(Layout, {
110
93
  label: props$1.label,
111
- required: required
112
- }, React.createElement("div", null, children), _error && React.createElement("div", {
113
- className: clsx(classNames[FormClassToken.ItemExplain], styled.explain.className),
114
- style: styled.explain.style
115
- }, _error)));
94
+ required: required,
95
+ space: descriptions.length === 0
96
+ }, React.createElement("div", null, children), descriptions.length > 0 && React.createElement(AnimatePresence, null, React.createElement("div", {
97
+ ...styled.description
98
+ }, descriptions))));
116
99
  };
117
100
  var Field$1 = Field;
118
101
 
@@ -0,0 +1,3 @@
1
+ import Field from "./field";
2
+ import Layout from "./layout";
3
+ export { Field, Layout };
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import { type ReactNode } from "react";
3
+ import type { ContextValue } from "../types";
4
+ /**
5
+ * @description
6
+ * layout props
7
+ */
8
+ type Props = {
9
+ /**
10
+ * @description
11
+ * children
12
+ */
13
+ children: ReactNode;
14
+ /**
15
+ * @description
16
+ * label for current input
17
+ */
18
+ label?: string;
19
+ /**
20
+ * @description
21
+ * how many columns should the label take
22
+ */
23
+ labelCol?: ContextValue["labelCol"];
24
+ /**
25
+ * @description
26
+ * how many columns should the input take
27
+ */
28
+ wrapperCol?: ContextValue["wrapperCol"];
29
+ /**
30
+ * @description
31
+ * display required
32
+ */
33
+ required: boolean;
34
+ /**
35
+ * @description
36
+ * if this item has margin space
37
+ */
38
+ space?: boolean;
39
+ };
40
+ /**
41
+ * @description
42
+ * item layout
43
+ */
44
+ declare const Layout: ({ required, space, ...props }: Props) => React.JSX.Element;
45
+ export default Layout;
@@ -1,13 +1,21 @@
1
1
  import React, { useContext } from 'react';
2
- import Context from './context.mjs';
3
- import { Grid } from '../grid/index.mjs';
4
- import { props } from '../../node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
5
- import { typography } from '../theme/theme.mjs';
6
- import { useTheme } from '../theme/hooks.mjs';
7
- import { ColorToken } from '../../utils/colors.mjs';
2
+ import Context from '../context.mjs';
3
+ import { Grid } from '../../grid/index.mjs';
4
+ import { props } from '../../../node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
5
+ import { typography } from '../../theme/theme.mjs';
6
+ import { useTheme } from '../../theme/hooks.mjs';
7
+ import { ColorToken } from '../../../utils/colors.mjs';
8
8
  import clsx from 'clsx';
9
9
 
10
+ const {
11
+ Row,
12
+ Col
13
+ } = Grid;
10
14
  const styles = {
15
+ item: {
16
+ marginBottom: "musae-a4cli4",
17
+ $$css: true
18
+ },
11
19
  required: props => [{
12
20
  "::before_content": "musae-ilz4u6",
13
21
  "::before_color": "musae-gyfpa5",
@@ -19,16 +27,13 @@ const styles = {
19
27
  "--1g451k2": props.color != null ? props.color : "initial"
20
28
  }]
21
29
  };
22
- const {
23
- Row,
24
- Col
25
- } = Grid;
26
30
  /**
27
31
  * @description
28
- * item grid
32
+ * item layout
29
33
  */
30
- const Gridded = ({
34
+ const Layout = ({
31
35
  required,
36
+ space,
32
37
  ...props$1
33
38
  }) => {
34
39
  const contextValue = useContext(Context);
@@ -36,9 +41,7 @@ const Gridded = ({
36
41
  const wrapperCol = props$1.wrapperCol ?? contextValue.wrapperCol;
37
42
  const theme = useTheme();
38
43
  const styled = {
39
- item: {
40
- className: "musae-a4cli4"
41
- },
44
+ item: props(!!space && styles.item),
42
45
  label: props(required && styles.required({
43
46
  color: theme.colors[ColorToken.Error]
44
47
  }), typography.label.small)
@@ -56,6 +59,6 @@ const Gridded = ({
56
59
  span: wrapperCol
57
60
  }, props$1.children));
58
61
  };
59
- var Gridded$1 = Gridded;
62
+ var Layout$1 = Layout;
60
63
 
61
- export { Gridded$1 as default };
64
+ export { Layout$1 as default };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import Field from './field.mjs';
3
- import Gridded from './gridded.mjs';
2
+ import Field from './field/field.mjs';
3
+ import Layout from './field/layout.mjs';
4
4
 
5
5
  /**
6
6
  * @description
@@ -10,7 +10,7 @@ const Item = ({ required = false, ...props }) => {
10
10
  if (props.name) {
11
11
  return React.createElement(Field, { ...props, name: props.name, required: required });
12
12
  }
13
- return (React.createElement(Gridded, { label: props.label, labelCol: props.labelCol, wrapperCol: props.wrapperCol, required: required }, props.children));
13
+ return (React.createElement(Layout, { label: props.label, labelCol: props.labelCol, wrapperCol: props.wrapperCol, required: required }, props.children));
14
14
  };
15
15
  var Item$1 = Item;
16
16
 
@@ -25,7 +25,7 @@ const Col = ({
25
25
  }));
26
26
  const classNames = useClassNames(ComponentToken.Grid);
27
27
  return React.createElement(As, {
28
- className: clsx(styled.className, classNames[GridClassToken.Col], className),
28
+ className: clsx(classNames[GridClassToken.Col], className, styled.className),
29
29
  style: {
30
30
  ...styled.style,
31
31
  ...props$1.style
@@ -41,7 +41,7 @@ const Row = ({
41
41
  align
42
42
  }));
43
43
  return React.createElement(As, {
44
- className: clsx(styled.className, classNames[GridClassToken.Row], className),
44
+ className: clsx(classNames[GridClassToken.Row], className, styled.className),
45
45
  style: {
46
46
  ...styled.style,
47
47
  ...props$1.style
@@ -19,7 +19,7 @@ const Holder = forwardRef((props, ref) => {
19
19
  if (messages.size === 0) return null;
20
20
  return React.createElement("div", {
21
21
  ...{
22
- className: "musae-ixxii4 musae-78zum5 musae-dt5ytf musae-6s0dn4 musae-n9wirt musae-47corl musae-11uqc5h musae-12vixxq musae-utp9vd"
22
+ className: "musae-ixxii4 musae-13vifvy musae-u96u03 musae-3m8u43 musae-11uqc5h musae-78zum5 musae-dt5ytf musae-6s0dn4 musae-47corl musae-12vixxq musae-utp9vd"
23
23
  }
24
24
  }, React.createElement(AnimatePresence, null, Array.from(messages.values()).map(({
25
25
  content,
@@ -1,4 +1,4 @@
1
- import React, { createElement } from 'react';
1
+ import React, { useMemo, createElement } from 'react';
2
2
  import { useTimeout } from '@aiszlab/relax';
3
3
  import { props } from '../../node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
4
4
  import { useTheme } from '../theme/hooks.mjs';
@@ -22,7 +22,7 @@ const styles = {
22
22
  paddingLeft: null,
23
23
  paddingEnd: null,
24
24
  paddingRight: null,
25
- borderRadius: "musae-1kogg8i",
25
+ borderRadius: "musae-1gg5qfe",
26
26
  borderStartStartRadius: null,
27
27
  borderStartEndRadius: null,
28
28
  borderEndStartRadius: null,
@@ -31,16 +31,18 @@ const styles = {
31
31
  borderTopRightRadius: null,
32
32
  borderBottomLeftRadius: null,
33
33
  borderBottomRightRadius: null,
34
- backgroundColor: "musae-q1mx2j",
35
34
  boxShadow: "musae-jdr3co",
36
35
  display: "musae-78zum5",
37
36
  alignItems: "musae-1cy8zhl",
38
37
  columnGap: "musae-1om1yv4",
39
38
  maxWidth: "musae-kfv0gj",
40
39
  pointerEvents: "musae-67bb7w",
40
+ backgroundColor: "musae-q1mx2j",
41
+ color: "musae-19dipnz",
41
42
  $$css: true
42
43
  }, {
43
- "--backgroundColor": props.backgroundColor != null ? props.backgroundColor : "initial"
44
+ "--backgroundColor": props.backgroundColor != null ? props.backgroundColor : "initial",
45
+ "--color": props.color != null ? props.color : "initial"
44
46
  }],
45
47
  content: {
46
48
  display: "musae-1rg5ohu",
@@ -58,15 +60,20 @@ const Message = ({
58
60
  useTimeout(() => {
59
61
  onClose?.();
60
62
  }, duration);
61
- const color = type === "success" ? theme.colors[ColorToken.Primary] : theme.colors[ColorToken.Error] ;
63
+ const colors = useMemo(() => ({
64
+ success: theme.colors[ColorToken.Primary],
65
+ error: theme.colors[ColorToken.Error]
66
+ }), [theme]);
62
67
  const styled = {
63
68
  message: props(styles.message({
64
- backgroundColor: theme.colors[ColorToken.OnPrimary]
69
+ backgroundColor: theme.colors[ColorToken.OnPrimary],
70
+ color: theme.colors[ColorToken.OnPrimaryContainer]
65
71
  })),
66
72
  content: props(typography.body.medium, styles.content)
67
73
  };
68
74
  return React.createElement(motion.div, {
69
- ...styled.message,
75
+ className: styled.message.className,
76
+ style: styled.message.style,
70
77
  initial: {
71
78
  y: "-100%",
72
79
  opacity: 0
@@ -80,7 +87,7 @@ const Message = ({
80
87
  opacity: 0
81
88
  }
82
89
  }, SIGNALS.get(type) && createElement(SIGNALS.get(type), {
83
- color
90
+ color: colors[type]
84
91
  }), React.createElement("span", {
85
92
  ...styled.content
86
93
  }, children));
@@ -24,10 +24,10 @@ const useEvents = ({ onBlur, onClick, }) => {
24
24
  const useFadeAnimate = () => {
25
25
  const [scope, animate] = useAnimate();
26
26
  const fadeIn = useEvent(async () => {
27
- await animate(scope.current, { opacity: 1 }, { duration: 0.05 });
27
+ await animate(scope.current, { opacity: 1 }, { duration: 0.2 });
28
28
  });
29
29
  const fadeOut = useEvent(async () => {
30
- await animate(scope.current, { opacity: 0 }, { duration: 0.05 });
30
+ await animate(scope.current, { opacity: 0 }, { duration: 0.2 });
31
31
  });
32
32
  return {
33
33
  scope,
@@ -1,9 +1,10 @@
1
1
  import React, { forwardRef, useRef, useImperativeHandle, useEffect } from 'react';
2
2
  import { createPopper } from '@popperjs/core';
3
3
  import { ComponentToken, PopperClassToken } from '../../utils/class-name.mjs';
4
- import { useMounted } from '@aiszlab/relax';
4
+ import { useMount } from '@aiszlab/relax';
5
5
  import { useClassNames } from '../config/hooks.mjs';
6
6
  import clsx from 'clsx';
7
+ import { toClassList } from '../../utils/styles.mjs';
7
8
 
8
9
  const Dropdown = forwardRef(({
9
10
  open,
@@ -24,18 +25,20 @@ const Dropdown = forwardRef(({
24
25
  popper.current?.update();
25
26
  }
26
27
  }));
27
- useMounted(() => {
28
+ /// fix: why use mount instead of use mounted?
29
+ /// when mounted, this div display a normal block, must sync to popper.
30
+ useMount(() => {
28
31
  if (!trigger) return;
29
32
  if (!container.current) return;
30
- const popped = createPopper(trigger, container.current, {
33
+ const _popper = createPopper(trigger, container.current, {
31
34
  placement,
32
35
  modifiers: [{
33
36
  name: "flip"
34
37
  }]
35
38
  });
36
- popper.current = popped;
39
+ popper.current = _popper;
37
40
  return () => {
38
- popped.destroy();
41
+ _popper.destroy();
39
42
  };
40
43
  });
41
44
  const styled = {
@@ -48,14 +51,13 @@ const Dropdown = forwardRef(({
48
51
  };
49
52
  useEffect(() => {
50
53
  (async () => {
51
- const toggleBy = styled.hidden.className?.split(" ") ?? [];
52
54
  if (open) {
53
- container.current?.classList.remove(...toggleBy);
55
+ container.current?.classList.remove(...toClassList(styled.hidden.className));
54
56
  await onEntered?.();
55
57
  return;
56
58
  }
57
59
  await onExit?.();
58
- container.current?.classList.add(...toggleBy);
60
+ container.current?.classList.add(...toClassList(styled.hidden.className));
59
61
  })();
60
62
  // eslint-disable-next-line react-hooks/exhaustive-deps
61
63
  }, [open]);
@@ -65,7 +67,6 @@ const Dropdown = forwardRef(({
65
67
  className: clsx(classNames[PopperClassToken.Dropdown], className, styled.dropdown.className),
66
68
  style: {
67
69
  ...styled.dropdown.style,
68
- ...styled.hidden.style,
69
70
  ...style
70
71
  }
71
72
  }, children);
package/dist/stylex.css CHANGED
@@ -24,7 +24,6 @@
24
24
  .musae-9r1u3d:not(#\#):not(#\#){border-color:transparent}
25
25
  .musae-eqt46j:not(#\#):not(#\#){border-color:var(--borderColor,revert)}
26
26
  .musae-12oqio5:not(#\#):not(#\#){border-radius:4px}
27
- .musae-1kogg8i:not(#\#):not(#\#){border-radius:6px}
28
27
  .musae-ur7f20:not(#\#):not(#\#){border-radius:8px}
29
28
  .musae-1pjcqnp:not(#\#):not(#\#){border-radius:inherit}
30
29
  .musae-1gg5qfe:not(#\#):not(#\#){border-radius:var(--musae-1l9c3uf)}
@@ -53,7 +52,6 @@
53
52
  .musae-ohadnq:not(#\#):not(#\#){outline:var(--musae-1aj7t22)}
54
53
  .musae-ysyzu8:not(#\#):not(#\#){overflow:auto}
55
54
  .musae-b3r6kr:not(#\#):not(#\#){overflow:hidden}
56
- .musae-24n1ab:not(#\#):not(#\#){padding-block:var(--musae-1h5s2h0)}
57
55
  .musae-avjae4:not(#\#):not(#\#){padding-block:var(--musae-1ncxh3n)}
58
56
  .musae-1c9czsq:not(#\#):not(#\#){padding-block:var(--musae-1tzp6vk)}
59
57
  .musae-hwhe2e:not(#\#):not(#\#){padding-block:var(--musae-1wblvyz)}
@@ -219,7 +217,6 @@ html[dir='rtl'] .musae-1yc453h:not(#\#):not(#\#):not(#\#){text-align:right}
219
217
  .musae-12cinw4:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--musae-wll1cf)}
220
218
  .musae-u96u03:not(#\#):not(#\#):not(#\#):not(#\#){left:0}
221
219
  .musae-101gtxs:not(#\#):not(#\#):not(#\#):not(#\#){left:var(--left,revert)}
222
- .musae-uwzj2e:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(var(--musae-1tzp6vk) * -1)}
223
220
  .musae-hq7bbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--musae-15cw4i4)}
224
221
  .musae-a4cli4:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--musae-1tzp6vk)}
225
222
  .musae-rsi211:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--musae-qk2ac7)}
@@ -260,7 +257,6 @@ html[dir='rtl'] .musae-1yc453h:not(#\#):not(#\#):not(#\#){text-align:right}
260
257
  .musae-9c655z:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--musae-oohzsl)}
261
258
  .musae-rzbxsz:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--top,revert)}
262
259
  .musae-h8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}
263
- .musae-n9wirt:not(#\#):not(#\#):not(#\#):not(#\#){width:100vw}
264
260
  .musae-1i1rx1s:not(#\#):not(#\#):not(#\#):not(#\#){width:1px}
265
261
  .musae-afpxmx:not(#\#):not(#\#):not(#\#):not(#\#){width:240px}
266
262
  .musae-vy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}
@@ -64,8 +64,8 @@ export declare enum PopperClassToken {
64
64
  }
65
65
  export declare enum FormClassToken {
66
66
  Item = 0,
67
- ItemExplain = 1,
68
- ItemExplainError = 2
67
+ Field = 1,
68
+ FieldError = 2
69
69
  }
70
70
  export declare enum GridClassToken {
71
71
  Row = 0,
@@ -79,8 +79,8 @@ var PopperClassToken;
79
79
  var FormClassToken;
80
80
  (function (FormClassToken) {
81
81
  FormClassToken[FormClassToken["Item"] = 0] = "Item";
82
- FormClassToken[FormClassToken["ItemExplain"] = 1] = "ItemExplain";
83
- FormClassToken[FormClassToken["ItemExplainError"] = 2] = "ItemExplainError";
82
+ FormClassToken[FormClassToken["Field"] = 1] = "Field";
83
+ FormClassToken[FormClassToken["FieldError"] = 2] = "FieldError";
84
84
  })(FormClassToken || (FormClassToken = {}));
85
85
  var GridClassToken;
86
86
  (function (GridClassToken) {
@@ -231,8 +231,8 @@ const CLASS_NAMES = {
231
231
  },
232
232
  [ComponentToken.Form]: {
233
233
  [FormClassToken.Item]: "form__item",
234
- [FormClassToken.ItemExplain]: "form__item-explain",
235
- [FormClassToken.ItemExplainError]: "form__item-explain--error",
234
+ [FormClassToken.Field]: "form__item-field",
235
+ [FormClassToken.FieldError]: "form__item-field-error",
236
236
  },
237
237
  [ComponentToken.Grid]: {
238
238
  [GridClassToken.Row]: "grid__row",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musae",
3
- "version": "0.1.32",
3
+ "version": "0.1.33",
4
4
  "description": "musae-ui",
5
5
  "author": "tutu@fantufantu.com",
6
6
  "license": "MIT",
@@ -1,15 +0,0 @@
1
- import React from "react";
2
- import { type ReactNode } from "react";
3
- import type { ContextValue } from "./types";
4
- /**
5
- * @description
6
- * item grid
7
- */
8
- declare const Gridded: ({ required, ...props }: {
9
- children: ReactNode;
10
- label?: string | undefined;
11
- labelCol?: number | undefined;
12
- wrapperCol?: number | undefined;
13
- required: boolean;
14
- }) => React.JSX.Element;
15
- export default Gridded;