musae 0.2.5 → 0.2.7

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 (150) hide show
  1. package/README.md +4 -2
  2. package/dist/components/avatar/avatar.js +1 -1
  3. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  4. package/dist/components/breadcrumb/item.js +1 -1
  5. package/dist/components/button/button.js +14 -16
  6. package/dist/components/calendar/calendar.js +1 -1
  7. package/dist/components/calendar/hooks.js +5 -5
  8. package/dist/components/checkbox/checkbox.d.ts +1 -1
  9. package/dist/components/checkbox/checkbox.js +205 -143
  10. package/dist/components/checkbox/group.d.ts +1 -1
  11. package/dist/components/checkbox/group.js +20 -19
  12. package/dist/components/checkbox/index.d.ts +2 -2
  13. package/dist/components/checkbox/types.d.ts +31 -4
  14. package/dist/components/clock/column.js +1 -1
  15. package/dist/components/collapse/collapse.js +1 -1
  16. package/dist/components/collapse/item.js +15 -9
  17. package/dist/components/date-picker/date-picker.js +1 -1
  18. package/dist/components/dialog/dialog.js +1 -1
  19. package/dist/components/dialog/popup.js +5 -5
  20. package/dist/components/divider/divider.js +1 -1
  21. package/dist/components/drawer/drawer.js +1 -1
  22. package/dist/components/drawer/popup.js +17 -17
  23. package/dist/components/empty/empty.js +1 -1
  24. package/dist/components/floating-action-button/floatable.d.ts +4 -0
  25. package/dist/components/floating-action-button/floatable.js +83 -0
  26. package/dist/components/floating-action-button/floating-action-button.d.ts +4 -0
  27. package/dist/components/floating-action-button/floating-action-button.js +26 -0
  28. package/dist/components/floating-action-button/index.d.ts +2 -0
  29. package/dist/components/floating-action-button/types.d.ts +44 -0
  30. package/dist/components/form/field/error.d.ts +2 -2
  31. package/dist/components/form/field/error.js +36 -22
  32. package/dist/components/form/field/field.js +6 -21
  33. package/dist/components/form/field/layout.js +1 -1
  34. package/dist/components/grid/col.js +1 -1
  35. package/dist/components/grid/row.js +1 -1
  36. package/dist/components/icon/icon.d.ts +1 -1
  37. package/dist/components/icon/icon.js +5 -3
  38. package/dist/components/icon/types.d.ts +6 -1
  39. package/dist/components/image/image.js +3 -2
  40. package/dist/components/image/preview/operations.js +5 -5
  41. package/dist/components/image/preview/preview.js +1 -1
  42. package/dist/components/input/input.d.ts +6 -6
  43. package/dist/components/input/input.js +9 -15
  44. package/dist/components/layout/header.js +2 -2
  45. package/dist/components/layout/layout.js +1 -1
  46. package/dist/components/loading/loading.js +2 -2
  47. package/dist/components/menu/group.js +29 -9
  48. package/dist/components/menu/hooks.js +1 -1
  49. package/dist/components/menu/item.js +1 -1
  50. package/dist/components/menu/menu.js +3 -1
  51. package/dist/components/notification/holder.js +14 -15
  52. package/dist/components/notification/notification.js +3 -3
  53. package/dist/components/otp-input/otp-input.js +1 -1
  54. package/dist/components/pagination/hooks.d.ts +4 -2
  55. package/dist/components/pagination/hooks.js +9 -4
  56. package/dist/components/pagination/item.js +6 -8
  57. package/dist/components/pagination/pagination.d.ts +1 -1
  58. package/dist/components/pagination/pagination.js +37 -9
  59. package/dist/components/pagination/types.d.ts +6 -0
  60. package/dist/components/picker/picker.js +2 -2
  61. package/dist/components/popover/popover.js +1 -1
  62. package/dist/components/popper/dropdown.js +3 -3
  63. package/dist/components/popper/popper.js +1 -1
  64. package/dist/components/portal/portal.js +6 -2
  65. package/dist/components/portal/types.d.ts +6 -0
  66. package/dist/components/progress/circular.js +1 -1
  67. package/dist/components/progress/linear.js +1 -1
  68. package/dist/components/radio/radio.js +1 -1
  69. package/dist/components/rate/rate.js +1 -1
  70. package/dist/components/rate/star.js +3 -3
  71. package/dist/components/ripple/ripple.js +1 -1
  72. package/dist/components/select/hooks.d.ts +1 -1
  73. package/dist/components/select/select.d.ts +1 -1
  74. package/dist/components/select/select.js +5 -5
  75. package/dist/components/select/selector.d.ts +3 -6
  76. package/dist/components/select/selector.js +16 -10
  77. package/dist/components/select/types.d.ts +3 -1
  78. package/dist/components/space/space.js +1 -1
  79. package/dist/components/steps/item.d.ts +1 -1
  80. package/dist/components/steps/item.js +77 -16
  81. package/dist/components/steps/steps.d.ts +1 -1
  82. package/dist/components/steps/steps.js +6 -4
  83. package/dist/components/steps/types.d.ts +15 -0
  84. package/dist/components/switch/switch.d.ts +1 -1
  85. package/dist/components/switch/switch.js +22 -22
  86. package/dist/components/table/body.js +1 -1
  87. package/dist/components/table/header/cell.js +3 -3
  88. package/dist/components/table/header/header.js +2 -2
  89. package/dist/components/tabs/hooks.d.ts +40 -0
  90. package/dist/components/tabs/hooks.js +98 -0
  91. package/dist/components/tabs/navigation.d.ts +4 -0
  92. package/dist/components/tabs/navigation.js +159 -0
  93. package/dist/components/tabs/panels.d.ts +4 -0
  94. package/dist/components/tabs/panels.js +78 -0
  95. package/dist/components/tabs/tab.d.ts +4 -0
  96. package/dist/components/tabs/tab.js +19 -0
  97. package/dist/components/tabs/tabs.d.ts +1 -1
  98. package/dist/components/tabs/tabs.js +24 -94
  99. package/dist/components/tabs/types.d.ts +50 -9
  100. package/dist/components/tag/tag.js +1 -1
  101. package/dist/components/theme/hooks.js +3 -3
  102. package/dist/components/theme/tokens.stylex.d.ts +1 -0
  103. package/dist/components/time-picker/panel.js +1 -1
  104. package/dist/components/time-picker/time-picker.js +1 -1
  105. package/dist/components/timeline/item.d.ts +1 -1
  106. package/dist/components/timeline/item.js +107 -119
  107. package/dist/components/timeline/timeline.d.ts +1 -1
  108. package/dist/components/timeline/timeline.js +8 -4
  109. package/dist/components/timeline/types.d.ts +16 -0
  110. package/dist/components/tour/tour.js +4 -3
  111. package/dist/components/transfer/context.d.ts +6 -0
  112. package/dist/components/transfer/context.js +11 -0
  113. package/dist/components/transfer/hooks.d.ts +19 -0
  114. package/dist/components/transfer/hooks.js +49 -0
  115. package/dist/components/transfer/index.d.ts +2 -0
  116. package/dist/components/transfer/item.d.ts +4 -0
  117. package/dist/components/transfer/item.js +25 -0
  118. package/dist/components/transfer/list.d.ts +4 -0
  119. package/dist/components/transfer/list.js +122 -0
  120. package/dist/components/transfer/transfer.d.ts +4 -0
  121. package/dist/components/transfer/transfer.js +82 -0
  122. package/dist/components/transfer/types.d.ts +83 -0
  123. package/dist/components/tree/context.js +2 -0
  124. package/dist/components/tree/hooks.d.ts +13 -2
  125. package/dist/components/tree/hooks.js +19 -2
  126. package/dist/components/tree/list.js +16 -9
  127. package/dist/components/tree/node.d.ts +1 -1
  128. package/dist/components/tree/node.js +24 -14
  129. package/dist/components/tree/tree.d.ts +1 -1
  130. package/dist/components/tree/tree.js +13 -9
  131. package/dist/components/tree/types.d.ts +18 -23
  132. package/dist/components/waterfall/sequential.js +4 -1
  133. package/dist/components/waterfall/waterfall.js +6 -3
  134. package/dist/hooks/use-class-names.d.ts +27 -1
  135. package/dist/hooks/use-container.d.ts +11 -0
  136. package/dist/hooks/use-container.js +23 -0
  137. package/dist/hooks/use-expandable.d.ts +11 -0
  138. package/dist/hooks/use-expandable.js +37 -0
  139. package/dist/index.d.ts +2 -0
  140. package/dist/index.js +2 -0
  141. package/dist/stylex.css +61 -40
  142. package/dist/utils/class-name.d.ts +96 -16
  143. package/dist/utils/class-name.js +69 -13
  144. package/package.json +21 -11
  145. package/dist/components/tabs/item.d.ts +0 -4
  146. package/dist/components/tabs/item.js +0 -22
  147. package/dist/hooks/use-expand-effect.d.ts +0 -12
  148. package/dist/hooks/use-expand-effect.js +0 -34
  149. /package/dist/node_modules/.pnpm/{@aiszlab_relax@1.2.55_react-dom@18.3.1_react@18.3.1 → @aiszlab_relax@1.2.59_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/@aiszlab/relax/dist/dom/contains.js +0 -0
  150. /package/dist/node_modules/.pnpm/{@stylexjs_stylex@0.6.1 → @stylexjs_stylex@0.7.5}/node_modules/@stylexjs/stylex/lib/es/stylex.js +0 -0
@@ -1,22 +1,26 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import List from './list.js';
3
3
  import Context from './context.js';
4
- import { useToggleable } from '@aiszlab/relax';
5
- import { useExpandedKeys } from './hooks.js';
4
+ import { useTogglable } from '@aiszlab/relax';
5
+ import { useExpandedKeys, useSelectedKeys } from './hooks.js';
6
6
 
7
- const Tree = ({ expandedKeys: _expandedKeys, onExpand, className, style, ...props }) => {
8
- const { toggledKeys: checkedKeys, toggle: check } = useToggleable(props.nodes);
9
- const { toggle, expandedKeys } = useExpandedKeys([_expandedKeys, onExpand]);
7
+ const Tree = ({ expandedKeys: _expandedKeys, onExpand, className, style, nodes, selectable = true, selectedKeys: _selectedKeys, }) => {
8
+ const { toggledKeys: checkedKeys, toggle: check } = useTogglable(nodes);
9
+ const { expandedKeys, toggle: expand } = useExpandedKeys([_expandedKeys, onExpand]);
10
+ const { selectedKeys, toggle: select } = useSelectedKeys({ selectedKeys: _selectedKeys });
10
11
  const contextValue = useMemo(() => {
11
12
  return {
12
13
  checkedKeys,
13
- check,
14
+ onCheck: check,
14
15
  expandedKeys,
15
- toggle,
16
+ onExpand: expand,
17
+ selectedKeys,
18
+ onSelect: select,
19
+ selectable,
16
20
  };
17
- }, [check, checkedKeys, toggle, expandedKeys]);
21
+ }, [check, checkedKeys, expand, expandedKeys, select, selectedKeys, selectable]);
18
22
  return (React.createElement(Context.Provider, { value: contextValue },
19
- React.createElement(List, { nodes: props.nodes, className: className, style: style })));
23
+ React.createElement(List, { nodes: nodes, className: className, style: style })));
20
24
  };
21
25
  var Tree$1 = Tree;
22
26
 
@@ -44,6 +44,18 @@ export type TreeProps = ComponentProps & {
44
44
  * @default void 0
45
45
  */
46
46
  onExpand?: (keys: Key[]) => void;
47
+ /**
48
+ * @description
49
+ * selectable
50
+ * @default true
51
+ */
52
+ selectable?: boolean;
53
+ /**
54
+ * @description
55
+ * selected keys
56
+ * @default void 0
57
+ */
58
+ selectedKeys?: Key[];
47
59
  };
48
60
  /**
49
61
  * @description
@@ -64,7 +76,7 @@ export type TreeNodeProps = WithLevel<Omit<TreeNode, "children" | "key">> & {
64
76
  * @description
65
77
  * expand handler
66
78
  */
67
- onToggle?: (key: Key) => void;
79
+ onExpand?: (key: Key) => void;
68
80
  };
69
81
  /**
70
82
  * @description
@@ -87,31 +99,14 @@ export type TreeListProps = ComponentProps & {
87
99
  */
88
100
  level?: number;
89
101
  };
90
- /**
91
- * @description
92
- * context value
93
- */
94
102
  export type ContextValue = {
95
- /**
96
- * @description
97
- * checked keys
98
- */
99
103
  checkedKeys: Set<Key>;
100
- /**
101
- * @description
102
- * check
103
- */
104
- check?: (key: Key) => void;
105
- /**
106
- * @description
107
- * expandedKeys
108
- */
104
+ onCheck?: (key: Key) => void;
109
105
  expandedKeys: Set<Key>;
110
- /**
111
- * @description
112
- * toggle
113
- */
114
- toggle?: (key: Key) => void;
106
+ onExpand?: (key: Key) => void;
107
+ selectedKeys: Set<Key>;
108
+ onSelect?: (key: Key) => void;
109
+ selectable: boolean;
115
110
  };
116
111
  /**
117
112
  * @description
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo } from 'react';
2
- import { props } from '../../node_modules/.pnpm/@stylexjs_stylex@0.6.1/node_modules/@stylexjs/stylex/lib/es/stylex.js';
2
+ import { props } from '../../node_modules/.pnpm/@stylexjs_stylex@0.7.5/node_modules/@stylexjs/stylex/lib/es/stylex.js';
3
3
 
4
4
  const styles = {
5
5
  column: props => [{
@@ -10,6 +10,9 @@ const styles = {
10
10
  display: "musae-78zum5",
11
11
  flexDirection: "musae-dt5ytf",
12
12
  rowGap: "musae-m8a6f2",
13
+ overflow: "musae-ysyzu8",
14
+ overflowX: null,
15
+ overflowY: null,
13
16
  $$css: true
14
17
  }, {
15
18
  "--rowGap": (val => typeof val === "number" ? val + "px" : val != null ? val : "initial")(props.rowGap)
@@ -1,10 +1,12 @@
1
- import { props } from '../../node_modules/.pnpm/@stylexjs_stylex@0.6.1/node_modules/@stylexjs/stylex/lib/es/stylex.js';
1
+ import { props } from '../../node_modules/.pnpm/@stylexjs_stylex@0.7.5/node_modules/@stylexjs/stylex/lib/es/stylex.js';
2
2
  import React from 'react';
3
3
  import { useRepaint } from './hooks.js';
4
4
  import clsx from 'clsx';
5
5
  import { useGutters } from '../../hooks/use-gutters.js';
6
6
  import { useUpdateEffect, useMounted } from '@aiszlab/relax';
7
7
  import Sequential from './sequential.js';
8
+ import { useClassNames } from '../../hooks/use-class-names.js';
9
+ import { ComponentToken, WaterfallClassToken } from '../../utils/class-name.js';
8
10
 
9
11
  const styles = {
10
12
  waterfall: props => [{
@@ -62,6 +64,7 @@ const Waterfall = ({
62
64
  columns,
63
65
  rowGap
64
66
  });
67
+ const classNames = useClassNames(ComponentToken.Waterfall);
65
68
  const styled = props(styles.waterfall({
66
69
  rowGap,
67
70
  columnGap
@@ -96,7 +99,7 @@ const Waterfall = ({
96
99
  columns: columns,
97
100
  children: children,
98
101
  rowGap: rowGap,
99
- className: clsx(className, styled.className),
102
+ className: clsx(classNames[WaterfallClassToken.Sequential], className, styled.className),
100
103
  style: {
101
104
  ...styled.style,
102
105
  ...style
@@ -104,7 +107,7 @@ const Waterfall = ({
104
107
  });
105
108
  }
106
109
  return React.createElement("div", {
107
- className: clsx(className, styled.className),
110
+ className: clsx(classNames[WaterfallClassToken.Waterfall], className, styled.className),
108
111
  style: {
109
112
  ...styled.style,
110
113
  ...style
@@ -108,6 +108,7 @@ export declare const useClassNames: <T extends ComponentToken>(token: T) => {
108
108
  2: string;
109
109
  3: string;
110
110
  4: string;
111
+ 5: string;
111
112
  };
112
113
  21: {
113
114
  0: string;
@@ -126,9 +127,15 @@ export declare const useClassNames: <T extends ComponentToken>(token: T) => {
126
127
  0: string;
127
128
  1: string;
128
129
  2: string;
130
+ 3: string;
131
+ 4: string;
132
+ 5: string;
133
+ 6: string;
134
+ 7: string;
129
135
  };
130
136
  24: {
131
137
  0: string;
138
+ 1: string;
132
139
  };
133
140
  25: {
134
141
  0: string;
@@ -154,16 +161,22 @@ export declare const useClassNames: <T extends ComponentToken>(token: T) => {
154
161
  28: {
155
162
  0: string;
156
163
  1: string;
157
- 5: string;
158
164
  6: string;
159
165
  7: string;
166
+ 8: string;
160
167
  2: string;
161
168
  3: string;
162
169
  4: string;
170
+ 5: string;
163
171
  };
164
172
  29: {
165
173
  0: string;
166
174
  1: string;
175
+ 2: string;
176
+ 3: string;
177
+ 4: string;
178
+ 5: string;
179
+ 6: string;
167
180
  };
168
181
  30: {
169
182
  0: string;
@@ -207,4 +220,17 @@ export declare const useClassNames: <T extends ComponentToken>(token: T) => {
207
220
  5: string;
208
221
  6: string;
209
222
  };
223
+ 38: {
224
+ 0: string;
225
+ 1: string;
226
+ };
227
+ 39: {
228
+ 0: string;
229
+ 6: string;
230
+ 1: string;
231
+ 3: string;
232
+ 5: string;
233
+ 2: string;
234
+ 4: string;
235
+ };
210
236
  }[T];
@@ -0,0 +1,11 @@
1
+ import { PortalProps } from "../components/portal/types";
2
+ /**
3
+ * @description
4
+ * container
5
+ */
6
+ export declare const useContainer: ({ container }: {
7
+ container: PortalProps["container"];
8
+ }) => {
9
+ container: import("@aiszlab/relax/types").Voidable<HTMLElement>;
10
+ isDocumentBody: boolean;
11
+ };
@@ -0,0 +1,23 @@
1
+ import { isFunction, isDomUsable } from '@aiszlab/relax';
2
+ import { useMemo } from 'react';
3
+
4
+ /**
5
+ * @description
6
+ * container
7
+ */
8
+ const useContainer = ({ container }) => {
9
+ const _container = useMemo(() => {
10
+ if (!isFunction(container))
11
+ return container ?? (isDomUsable() ? document.body : null);
12
+ return container();
13
+ }, [container]);
14
+ const isDocumentBody = useMemo(() => {
15
+ return isDomUsable() && _container === document.body;
16
+ }, [_container]);
17
+ return {
18
+ container: _container,
19
+ isDocumentBody,
20
+ };
21
+ };
22
+
23
+ export { useContainer };
@@ -0,0 +1,11 @@
1
+ import { useAnimate } from "framer-motion";
2
+ type UsedAnimate = ReturnType<typeof useAnimate<HTMLElement>>;
3
+ /**
4
+ * @description
5
+ * expand handler
6
+ */
7
+ export declare const useExpandable: () => {
8
+ expand: ([element, animate]: UsedAnimate) => Promise<void>;
9
+ collapse: ([element, animate]: UsedAnimate) => Promise<void>;
10
+ };
11
+ export {};
@@ -0,0 +1,37 @@
1
+ import { useEvent } from '@aiszlab/relax';
2
+
3
+ /**
4
+ * @description
5
+ * expand handler
6
+ */
7
+ const useExpandable = () => {
8
+ const expand = useEvent(async ([element, animate]) => {
9
+ // style play like display: none
10
+ element.current.style.height = "0";
11
+ element.current.style.overflow = "hidden";
12
+ element.current.style.display = "inherit";
13
+ await animate(element.current, {
14
+ height: "auto",
15
+ });
16
+ element.current.style.height = "";
17
+ element.current.style.overflow = "";
18
+ element.current.style.display = "";
19
+ });
20
+ const collapse = useEvent(async ([element, animate]) => {
21
+ element.current.style.overflow = "hidden";
22
+ element.current.style.height = "auto";
23
+ element.current.style.display = "inherit";
24
+ await animate(element.current, {
25
+ height: 0,
26
+ });
27
+ element.current.style.height = "";
28
+ element.current.style.overflow = "";
29
+ element.current.style.display = "none";
30
+ });
31
+ return {
32
+ expand,
33
+ collapse,
34
+ };
35
+ };
36
+
37
+ export { useExpandable };
package/dist/index.d.ts CHANGED
@@ -48,6 +48,8 @@ export { Progress } from "./components/progress";
48
48
  export { Popover } from "./components/popover";
49
49
  export { Watermark } from "./components/watermark";
50
50
  export { Collapse } from "./components/collapse";
51
+ export { FloatingActionButton } from "./components/floating-action-button";
52
+ export { Transfer } from "./components/transfer";
51
53
  /**
52
54
  * @description
53
55
  * hooks
package/dist/index.js CHANGED
@@ -45,6 +45,8 @@ export { default as Progress } from './components/progress/progress.js';
45
45
  export { default as Popover } from './components/popover/popover.js';
46
46
  export { default as Watermark } from './components/watermark/watermark.js';
47
47
  export { default as Collapse } from './components/collapse/collapse.js';
48
+ export { default as FloatingActionButton } from './components/floating-action-button/floating-action-button.js';
49
+ export { default as Transfer } from './components/transfer/transfer.js';
48
50
  export { useMessage } from './components/message/hooks.js';
49
51
  export { useNotification } from './components/notification/hooks.js';
50
52
  export { useTheme } from './components/theme/hooks.js';