@expcat/tigercat-react 0.0.65 → 0.0.67

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 (196) hide show
  1. package/dist/styles/index.css +4 -0
  2. package/dist/styles/index.d.mts +2 -0
  3. package/package.json +12 -9
  4. package/dist/chunk-2DOPHSZP.js +0 -32
  5. package/dist/chunk-2TS6X5RA.js +0 -73
  6. package/dist/chunk-2Y327ZU4.js +0 -493
  7. package/dist/chunk-3OF7XPIQ.js +0 -90
  8. package/dist/chunk-3WPKVV4N.js +0 -140
  9. package/dist/chunk-5FRENLDC.js +0 -194
  10. package/dist/chunk-5QKMQRCW.js +0 -89
  11. package/dist/chunk-5ZVSFIZD.js +0 -50
  12. package/dist/chunk-6MGEGOYJ.js +0 -108
  13. package/dist/chunk-6PUSRC6S.js +0 -68
  14. package/dist/chunk-72ZRDBXN.js +0 -25
  15. package/dist/chunk-77D7VQMG.js +0 -43
  16. package/dist/chunk-7P6PHSFM.js +0 -548
  17. package/dist/chunk-AG6GVQ5O.js +0 -271
  18. package/dist/chunk-AQ6DHCP6.js +0 -53
  19. package/dist/chunk-AQQRWISY.js +0 -184
  20. package/dist/chunk-C5EFBJBR.js +0 -540
  21. package/dist/chunk-D3I2SY7X.js +0 -301
  22. package/dist/chunk-DZJUFU55.js +0 -300
  23. package/dist/chunk-EI2GHMQS.js +0 -37
  24. package/dist/chunk-ENR3RIMM.js +0 -205
  25. package/dist/chunk-EQWQXURG.js +0 -18
  26. package/dist/chunk-EUHWE7MN.js +0 -267
  27. package/dist/chunk-FAKTU64M.js +0 -67
  28. package/dist/chunk-FQ6UHRAO.js +0 -499
  29. package/dist/chunk-GX74TC62.js +0 -54
  30. package/dist/chunk-HDDBBZQH.js +0 -321
  31. package/dist/chunk-IFY46RWU.js +0 -25
  32. package/dist/chunk-IQINYCU6.js +0 -99
  33. package/dist/chunk-IY4LEJYF.js +0 -78
  34. package/dist/chunk-JW64IJP2.js +0 -210
  35. package/dist/chunk-KUCFT2OA.js +0 -43
  36. package/dist/chunk-LNKI6HQ3.js +0 -152
  37. package/dist/chunk-LXA2YBAO.js +0 -38
  38. package/dist/chunk-MKWXJZ3T.js +0 -74
  39. package/dist/chunk-NEULKOYJ.js +0 -48
  40. package/dist/chunk-NI2WNZRT.js +0 -38
  41. package/dist/chunk-OFCKGWTS.js +0 -12
  42. package/dist/chunk-OTRGVENC.js +0 -305
  43. package/dist/chunk-P273E6XE.js +0 -219
  44. package/dist/chunk-Q3DPJHNM.js +0 -407
  45. package/dist/chunk-QFVE7GKD.js +0 -109
  46. package/dist/chunk-QL6OBKEN.js +0 -84
  47. package/dist/chunk-QL6UEG3U.js +0 -27
  48. package/dist/chunk-QORSSZX4.js +0 -144
  49. package/dist/chunk-R4JSBXGG.js +0 -12
  50. package/dist/chunk-R5BQHZWB.js +0 -698
  51. package/dist/chunk-R7MS42PL.js +0 -90
  52. package/dist/chunk-TB2UHDOZ.js +0 -19
  53. package/dist/chunk-TBIEWDY5.js +0 -175
  54. package/dist/chunk-TJFS44SH.js +0 -48
  55. package/dist/chunk-TZ26HQAW.js +0 -85
  56. package/dist/chunk-U4ZVEPYD.js +0 -71
  57. package/dist/chunk-UFAXJVMD.js +0 -120
  58. package/dist/chunk-VJJ76I7U.js +0 -19
  59. package/dist/chunk-VO4WDK4K.js +0 -37
  60. package/dist/chunk-VSF4DF7N.js +0 -84
  61. package/dist/chunk-VVO4V4IK.js +0 -56
  62. package/dist/chunk-WK5HN4OH.js +0 -113
  63. package/dist/chunk-XZDJ5FRB.js +0 -333
  64. package/dist/chunk-YE2M2HNM.js +0 -168
  65. package/dist/chunk-YYGTJKP5.js +0 -39
  66. package/dist/chunk-ZREFCRX3.js +0 -52
  67. package/dist/components/Alert.d.ts +0 -24
  68. package/dist/components/Alert.js +0 -10
  69. package/dist/components/Avatar.d.ts +0 -12
  70. package/dist/components/Avatar.js +0 -10
  71. package/dist/components/Badge.d.ts +0 -12
  72. package/dist/components/Badge.js +0 -10
  73. package/dist/components/Breadcrumb.d.ts +0 -13
  74. package/dist/components/Breadcrumb.js +0 -14
  75. package/dist/components/BreadcrumbItem.d.ts +0 -21
  76. package/dist/components/BreadcrumbItem.js +0 -11
  77. package/dist/components/Button.d.ts +0 -8
  78. package/dist/components/Button.js +0 -10
  79. package/dist/components/Card.d.ts +0 -33
  80. package/dist/components/Card.js +0 -10
  81. package/dist/components/Checkbox.d.ts +0 -48
  82. package/dist/components/Checkbox.js +0 -11
  83. package/dist/components/CheckboxGroup.d.ts +0 -39
  84. package/dist/components/CheckboxGroup.js +0 -14
  85. package/dist/components/Code.d.ts +0 -9
  86. package/dist/components/Code.js +0 -16
  87. package/dist/components/Col.d.ts +0 -7
  88. package/dist/components/Col.js +0 -11
  89. package/dist/components/ConfigProvider.d.ts +0 -14
  90. package/dist/components/ConfigProvider.js +0 -14
  91. package/dist/components/Container.d.ts +0 -13
  92. package/dist/components/Container.js +0 -10
  93. package/dist/components/Content.d.ts +0 -9
  94. package/dist/components/Content.js +0 -10
  95. package/dist/components/DatePicker.d.ts +0 -24
  96. package/dist/components/DatePicker.js +0 -10
  97. package/dist/components/Descriptions.d.ts +0 -53
  98. package/dist/components/Descriptions.js +0 -16
  99. package/dist/components/Divider.d.ts +0 -12
  100. package/dist/components/Divider.js +0 -10
  101. package/dist/components/Drawer.d.ts +0 -19
  102. package/dist/components/Drawer.js +0 -11
  103. package/dist/components/Dropdown.d.ts +0 -22
  104. package/dist/components/Dropdown.js +0 -16
  105. package/dist/components/DropdownItem.d.ts +0 -17
  106. package/dist/components/DropdownItem.js +0 -13
  107. package/dist/components/DropdownMenu.d.ts +0 -13
  108. package/dist/components/DropdownMenu.js +0 -10
  109. package/dist/components/Footer.d.ts +0 -9
  110. package/dist/components/Footer.js +0 -10
  111. package/dist/components/Form.d.ts +0 -56
  112. package/dist/components/Form.js +0 -14
  113. package/dist/components/FormItem.d.ts +0 -16
  114. package/dist/components/FormItem.js +0 -11
  115. package/dist/components/Header.d.ts +0 -9
  116. package/dist/components/Header.js +0 -10
  117. package/dist/components/Icon.d.ts +0 -9
  118. package/dist/components/Icon.js +0 -10
  119. package/dist/components/Input.d.ts +0 -28
  120. package/dist/components/Input.js +0 -10
  121. package/dist/components/Layout.d.ts +0 -9
  122. package/dist/components/Layout.js +0 -10
  123. package/dist/components/Link.d.ts +0 -10
  124. package/dist/components/Link.js +0 -10
  125. package/dist/components/List.d.ts +0 -94
  126. package/dist/components/List.js +0 -12
  127. package/dist/components/Loading.d.ts +0 -8
  128. package/dist/components/Loading.js +0 -10
  129. package/dist/components/Menu.d.ts +0 -35
  130. package/dist/components/Menu.js +0 -14
  131. package/dist/components/MenuItem.d.ts +0 -20
  132. package/dist/components/MenuItem.js +0 -11
  133. package/dist/components/MenuItemGroup.d.ts +0 -16
  134. package/dist/components/MenuItemGroup.js +0 -12
  135. package/dist/components/Message.d.ts +0 -44
  136. package/dist/components/Message.js +0 -20
  137. package/dist/components/Modal.d.ts +0 -41
  138. package/dist/components/Modal.js +0 -11
  139. package/dist/components/Notification.d.ts +0 -40
  140. package/dist/components/Notification.js +0 -20
  141. package/dist/components/Pagination.d.ts +0 -11
  142. package/dist/components/Pagination.js +0 -16
  143. package/dist/components/Popconfirm.d.ts +0 -34
  144. package/dist/components/Popconfirm.js +0 -10
  145. package/dist/components/Popover.d.ts +0 -14
  146. package/dist/components/Popover.js +0 -10
  147. package/dist/components/Progress.d.ts +0 -8
  148. package/dist/components/Progress.js +0 -10
  149. package/dist/components/Radio.d.ts +0 -20
  150. package/dist/components/Radio.js +0 -11
  151. package/dist/components/RadioGroup.d.ts +0 -28
  152. package/dist/components/RadioGroup.js +0 -14
  153. package/dist/components/Row.d.ts +0 -11
  154. package/dist/components/Row.js +0 -14
  155. package/dist/components/Select.d.ts +0 -23
  156. package/dist/components/Select.js +0 -10
  157. package/dist/components/Sidebar.d.ts +0 -9
  158. package/dist/components/Sidebar.js +0 -10
  159. package/dist/components/Skeleton.d.ts +0 -7
  160. package/dist/components/Skeleton.js +0 -10
  161. package/dist/components/Slider.d.ts +0 -12
  162. package/dist/components/Slider.js +0 -10
  163. package/dist/components/Space.d.ts +0 -11
  164. package/dist/components/Space.js +0 -10
  165. package/dist/components/Steps.d.ts +0 -31
  166. package/dist/components/Steps.js +0 -14
  167. package/dist/components/StepsItem.d.ts +0 -36
  168. package/dist/components/StepsItem.js +0 -10
  169. package/dist/components/SubMenu.d.ts +0 -20
  170. package/dist/components/SubMenu.js +0 -13
  171. package/dist/components/Switch.d.ts +0 -12
  172. package/dist/components/Switch.js +0 -10
  173. package/dist/components/TabPane.d.ts +0 -42
  174. package/dist/components/TabPane.js +0 -10
  175. package/dist/components/Table.d.ts +0 -46
  176. package/dist/components/Table.js +0 -10
  177. package/dist/components/Tabs.d.ts +0 -43
  178. package/dist/components/Tabs.js +0 -14
  179. package/dist/components/Tag.d.ts +0 -16
  180. package/dist/components/Tag.js +0 -10
  181. package/dist/components/Text.d.ts +0 -9
  182. package/dist/components/Text.js +0 -10
  183. package/dist/components/Textarea.d.ts +0 -13
  184. package/dist/components/Textarea.js +0 -10
  185. package/dist/components/TimePicker.d.ts +0 -28
  186. package/dist/components/TimePicker.js +0 -10
  187. package/dist/components/Timeline.d.ts +0 -47
  188. package/dist/components/Timeline.js +0 -10
  189. package/dist/components/Tooltip.d.ts +0 -15
  190. package/dist/components/Tooltip.js +0 -10
  191. package/dist/components/Tree.d.ts +0 -154
  192. package/dist/components/Tree.js +0 -16
  193. package/dist/components/Upload.d.ts +0 -16
  194. package/dist/components/Upload.js +0 -11
  195. package/dist/index.d.ts +0 -77
  196. package/dist/index.js +0 -364
@@ -1,210 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var tigercatCore = require('@expcat/tigercat-core');
5
- var jsxRuntime = require('react/jsx-runtime');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefault(React);
10
-
11
- // src/components/Form.tsx
12
- var FormContext = React.createContext(null);
13
- var useFormContext = () => {
14
- const context = React.useContext(FormContext);
15
- return context;
16
- };
17
- var Form = React.forwardRef(
18
- ({
19
- model = {},
20
- rules,
21
- labelWidth,
22
- labelPosition = "right",
23
- labelAlign = "right",
24
- size = "md",
25
- inlineMessage = true,
26
- showRequiredAsterisk = true,
27
- disabled = false,
28
- children,
29
- onSubmit,
30
- onValidate,
31
- onChange,
32
- className,
33
- ...props
34
- }, ref) => {
35
- const [errors, setErrors] = React.useState([]);
36
- const [formValues, setFormValues] = React.useState(model);
37
- const fieldRulesRef = React__default.default.useRef({});
38
- React__default.default.useEffect(() => {
39
- setFormValues(model);
40
- }, [model]);
41
- const registerFieldRules = React.useCallback(
42
- (fieldName, nextRules) => {
43
- if (!fieldName) {
44
- return;
45
- }
46
- if (!nextRules) {
47
- delete fieldRulesRef.current[fieldName];
48
- return;
49
- }
50
- fieldRulesRef.current[fieldName] = nextRules;
51
- },
52
- []
53
- );
54
- const getEffectiveRules = React.useCallback(() => {
55
- const fromForm = rules ?? {};
56
- const fromItems = fieldRulesRef.current;
57
- const merged = { ...fromForm, ...fromItems };
58
- return Object.keys(merged).length > 0 ? merged : void 0;
59
- }, [rules]);
60
- const validateField = React.useCallback(
61
- async (fieldName, rulesOverride, trigger) => {
62
- const fieldRules = rulesOverride ?? fieldRulesRef.current[fieldName] ?? rules?.[fieldName];
63
- if (!fieldRules) {
64
- return;
65
- }
66
- const value = tigercatCore.getValueByPath(formValues, fieldName);
67
- const error = await tigercatCore.validateField(fieldName, value, fieldRules, formValues, trigger);
68
- setErrors((prevErrors) => {
69
- const filtered = prevErrors.filter((e) => e.field !== fieldName);
70
- if (error) {
71
- return [...filtered, { field: fieldName, message: error }];
72
- }
73
- return filtered;
74
- });
75
- onValidate?.(fieldName, !error, error);
76
- },
77
- [rules, formValues, onValidate]
78
- );
79
- const validate = React.useCallback(async () => {
80
- const effectiveRules = getEffectiveRules();
81
- if (!effectiveRules) {
82
- setErrors([]);
83
- return true;
84
- }
85
- const result = await tigercatCore.validateForm(formValues, effectiveRules);
86
- setErrors(result.errors);
87
- return result.valid;
88
- }, [getEffectiveRules, formValues]);
89
- const clearValidate = React.useCallback((fieldNames) => {
90
- if (!fieldNames) {
91
- setErrors([]);
92
- return;
93
- }
94
- const fields = Array.isArray(fieldNames) ? fieldNames : [fieldNames];
95
- setErrors((prevErrors) => prevErrors.filter((error) => !fields.includes(error.field)));
96
- }, []);
97
- const resetFields = React.useCallback(() => {
98
- clearValidate();
99
- setFormValues(model);
100
- }, [model, clearValidate]);
101
- const updateValue = React.useCallback(
102
- (fieldName, value) => {
103
- const setValueByPath = (target, path, nextValue) => {
104
- if (!path.includes(".")) {
105
- return { ...target, [path]: nextValue };
106
- }
107
- const segments = path.split(".").filter(Boolean);
108
- if (segments.length === 0) {
109
- return target;
110
- }
111
- const clone = { ...target };
112
- let cursor = clone;
113
- for (let i = 0; i < segments.length; i++) {
114
- const key = segments[i];
115
- const isLast = i === segments.length - 1;
116
- if (isLast) {
117
- cursor[key] = nextValue;
118
- break;
119
- }
120
- const existing = cursor[key];
121
- const next = existing && typeof existing === "object" && !Array.isArray(existing) ? { ...existing } : {};
122
- cursor[key] = next;
123
- cursor = next;
124
- }
125
- return clone;
126
- };
127
- setFormValues((prevValues) => {
128
- const newValues = setValueByPath(prevValues, fieldName, value);
129
- onChange?.(newValues);
130
- return newValues;
131
- });
132
- },
133
- [onChange]
134
- );
135
- const handleSubmit = React.useCallback(
136
- async (event) => {
137
- event.preventDefault();
138
- const effectiveRules = getEffectiveRules();
139
- if (!effectiveRules) {
140
- setErrors([]);
141
- onSubmit?.({ valid: true, values: formValues, errors: [] });
142
- return;
143
- }
144
- const result = await tigercatCore.validateForm(formValues, effectiveRules);
145
- setErrors(result.errors);
146
- onSubmit?.({
147
- valid: result.valid,
148
- values: formValues,
149
- errors: result.errors
150
- });
151
- },
152
- [getEffectiveRules, formValues, onSubmit]
153
- );
154
- React.useImperativeHandle(
155
- ref,
156
- () => ({
157
- validate,
158
- validateField,
159
- clearValidate,
160
- resetFields
161
- }),
162
- [validate, validateField, clearValidate, resetFields]
163
- );
164
- const contextValue = React.useMemo(
165
- () => ({
166
- model: formValues,
167
- rules,
168
- labelWidth,
169
- labelPosition,
170
- labelAlign,
171
- size,
172
- inlineMessage,
173
- showRequiredAsterisk,
174
- disabled,
175
- errors,
176
- registerFieldRules,
177
- validateField,
178
- clearValidate,
179
- updateValue
180
- }),
181
- [
182
- formValues,
183
- rules,
184
- labelWidth,
185
- labelPosition,
186
- labelAlign,
187
- size,
188
- inlineMessage,
189
- showRequiredAsterisk,
190
- disabled,
191
- errors,
192
- registerFieldRules,
193
- validateField,
194
- clearValidate,
195
- updateValue
196
- ]
197
- );
198
- const formClasses = tigercatCore.classNames(
199
- "tiger-form",
200
- `tiger-form--label-${labelPosition}`,
201
- disabled && "tiger-form--disabled",
202
- className
203
- );
204
- return /* @__PURE__ */ jsxRuntime.jsx(FormContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("form", { className: formClasses, onSubmit: handleSubmit, ...props, children }) });
205
- }
206
- );
207
- Form.displayName = "TigerForm";
208
-
209
- exports.Form = Form;
210
- exports.useFormContext = useFormContext;
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkEI2GHMQS_js = require('./chunk-EI2GHMQS.js');
4
- var react = require('react');
5
- var tigercatCore = require('@expcat/tigercat-core');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- var Col = ({
9
- span = 24,
10
- offset = 0,
11
- order,
12
- flex,
13
- children,
14
- className,
15
- style,
16
- ...divProps
17
- }) => {
18
- const { gutter } = react.useContext(chunkEI2GHMQS_js.RowContext);
19
- const { colStyle } = tigercatCore.getGutterStyles(gutter || 0);
20
- const isFlexSpanMode = flex !== void 0 && span === 0;
21
- const colStyleVars = tigercatCore.getColStyleVars(isFlexSpanMode ? void 0 : span, offset);
22
- const colOrderVars = tigercatCore.getColOrderStyleVars(order);
23
- const colFlexVar = flex === void 0 ? {} : {
24
- "--tiger-col-flex": String(flex).replace(/_/g, " ")
25
- };
26
- const colClasses = tigercatCore.classNames(
27
- isFlexSpanMode ? "" : tigercatCore.getSpanClasses(span),
28
- tigercatCore.getOffsetClasses(offset),
29
- tigercatCore.getOrderClasses(order),
30
- tigercatCore.getFlexClasses(flex),
31
- className
32
- );
33
- const mergedStyle = {
34
- ...colStyle,
35
- ...colStyleVars,
36
- ...colOrderVars,
37
- ...colFlexVar,
38
- ...style
39
- };
40
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: colClasses, style: mergedStyle, ...divProps, children });
41
- };
42
-
43
- exports.Col = Col;
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkNEULKOYJ_js = require('./chunk-NEULKOYJ.js');
4
- var chunkEQWQXURG_js = require('./chunk-EQWQXURG.js');
5
- var React = require('react');
6
- var tigercatCore = require('@expcat/tigercat-core');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefault(React);
12
-
13
- var DropdownContext = React.createContext(null);
14
- var Dropdown = ({
15
- trigger = "hover",
16
- placement = "bottom-start",
17
- disabled = false,
18
- visible: controlledVisible,
19
- defaultVisible = false,
20
- closeOnClick = true,
21
- className,
22
- style,
23
- onVisibleChange,
24
- children,
25
- onKeyDown,
26
- ...divProps
27
- }) => {
28
- const [internalVisible, setInternalVisible] = React.useState(defaultVisible);
29
- const visible = controlledVisible !== void 0 ? controlledVisible : internalVisible;
30
- const containerRef = React.useRef(null);
31
- const hoverTimerRef = React.useRef(null);
32
- const setVisible = React.useCallback(
33
- (newVisible) => {
34
- if (disabled && newVisible) return;
35
- if (controlledVisible === void 0) {
36
- setInternalVisible(newVisible);
37
- }
38
- onVisibleChange?.(newVisible);
39
- },
40
- [disabled, controlledVisible, onVisibleChange]
41
- );
42
- const handleItemClick = React.useCallback(() => {
43
- if (closeOnClick) {
44
- setVisible(false);
45
- }
46
- }, [closeOnClick, setVisible]);
47
- const handleMouseEnter = React.useCallback(() => {
48
- if (trigger !== "hover") return;
49
- if (hoverTimerRef.current) {
50
- clearTimeout(hoverTimerRef.current);
51
- }
52
- hoverTimerRef.current = setTimeout(() => {
53
- setVisible(true);
54
- }, 100);
55
- }, [trigger, setVisible]);
56
- const handleMouseLeave = React.useCallback(() => {
57
- if (trigger !== "hover") return;
58
- if (hoverTimerRef.current) {
59
- clearTimeout(hoverTimerRef.current);
60
- }
61
- hoverTimerRef.current = setTimeout(() => {
62
- setVisible(false);
63
- }, 150);
64
- }, [trigger, setVisible]);
65
- const handleClick = React.useCallback(() => {
66
- if (trigger !== "click") return;
67
- setVisible(!visible);
68
- }, [trigger, visible, setVisible]);
69
- chunkNEULKOYJ_js.useClickOutside({
70
- enabled: trigger === "click" && visible,
71
- refs: [containerRef],
72
- onOutsideClick: () => setVisible(false)
73
- });
74
- chunkNEULKOYJ_js.useEscapeKey({
75
- enabled: visible,
76
- onEscape: () => setVisible(false)
77
- });
78
- React.useEffect(() => {
79
- return () => {
80
- if (hoverTimerRef.current) {
81
- clearTimeout(hoverTimerRef.current);
82
- }
83
- };
84
- }, []);
85
- const containerClasses = tigercatCore.classNames(
86
- tigercatCore.getDropdownContainerClasses(),
87
- "tiger-dropdown-container",
88
- className
89
- );
90
- const triggerClasses = tigercatCore.getDropdownTriggerClasses(disabled);
91
- const menuWrapperClasses = tigercatCore.getDropdownMenuWrapperClasses(visible, placement);
92
- const contextValue = {
93
- closeOnClick,
94
- handleItemClick
95
- };
96
- const childrenArray = React__default.default.Children.toArray(children);
97
- let triggerElement = null;
98
- let menuElement = null;
99
- childrenArray.forEach((child) => {
100
- if (!React__default.default.isValidElement(child)) {
101
- if (triggerElement == null) triggerElement = child;
102
- return;
103
- }
104
- if (child.type === chunkEQWQXURG_js.DropdownMenu) {
105
- menuElement = child;
106
- return;
107
- }
108
- if (triggerElement == null) {
109
- triggerElement = child;
110
- }
111
- });
112
- const handleContainerKeyDown = (event) => {
113
- onKeyDown?.(event);
114
- };
115
- return /* @__PURE__ */ jsxRuntime.jsx(DropdownContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsxs(
116
- "div",
117
- {
118
- ref: containerRef,
119
- className: containerClasses,
120
- style,
121
- onKeyDown: handleContainerKeyDown,
122
- ...divProps,
123
- children: [
124
- /* @__PURE__ */ jsxRuntime.jsx(
125
- "div",
126
- {
127
- className: triggerClasses,
128
- onClick: handleClick,
129
- onMouseEnter: handleMouseEnter,
130
- onMouseLeave: handleMouseLeave,
131
- "aria-haspopup": "menu",
132
- "aria-expanded": visible,
133
- children: triggerElement
134
- }
135
- ),
136
- /* @__PURE__ */ jsxRuntime.jsx(
137
- "div",
138
- {
139
- className: menuWrapperClasses,
140
- hidden: !visible,
141
- onMouseEnter: handleMouseEnter,
142
- onMouseLeave: handleMouseLeave,
143
- children: menuElement
144
- }
145
- )
146
- ]
147
- }
148
- ) });
149
- };
150
-
151
- exports.Dropdown = Dropdown;
152
- exports.DropdownContext = DropdownContext;
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk3WPKVV4N_js = require('./chunk-3WPKVV4N.js');
4
- var React = require('react');
5
- var tigercatCore = require('@expcat/tigercat-core');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
-
10
- var React__default = /*#__PURE__*/_interopDefault(React);
11
-
12
- function isComponentNamed(elementType, name) {
13
- if (typeof elementType !== "function" && typeof elementType !== "object") return false;
14
- const maybeFn = elementType;
15
- return maybeFn.displayName === name || maybeFn.name === name;
16
- }
17
- var MenuItemGroup = ({
18
- title,
19
- className,
20
- children,
21
- level = 0
22
- }) => {
23
- const enhancedChildren = React__default.default.Children.map(children, (child) => {
24
- if (!React__default.default.isValidElement(child)) return child;
25
- if (child.type === chunk3WPKVV4N_js.MenuItem || isComponentNamed(child.type, "SubMenu")) {
26
- return React__default.default.cloneElement(child, {
27
- level
28
- });
29
- }
30
- return child;
31
- });
32
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "list-none", children: [
33
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.menuItemGroupTitleClasses, children: title }),
34
- /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "group", className, children: enhancedChildren })
35
- ] });
36
- };
37
-
38
- exports.MenuItemGroup = MenuItemGroup;
@@ -1,74 +0,0 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var tigercatCore = require('@expcat/tigercat-core');
5
- var jsxRuntime = require('react/jsx-runtime');
6
-
7
- // src/components/Link.tsx
8
- var Link = ({
9
- variant = "primary",
10
- size = "md",
11
- disabled = false,
12
- href,
13
- target,
14
- rel,
15
- underline = true,
16
- onClick,
17
- onKeyDown,
18
- tabIndex,
19
- children,
20
- className,
21
- ...props
22
- }) => {
23
- const linkClasses = react.useMemo(
24
- () => tigercatCore.classNames(
25
- tigercatCore.linkBaseClasses,
26
- tigercatCore.getLinkVariantClasses(variant, void 0, { disabled }),
27
- tigercatCore.linkSizeClasses[size],
28
- underline && "hover:underline",
29
- disabled && tigercatCore.linkDisabledClasses,
30
- className
31
- ),
32
- [variant, size, underline, disabled, className]
33
- );
34
- const computedRel = react.useMemo(() => tigercatCore.getSecureRel(target, rel), [target, rel]);
35
- const handleClick = react.useCallback(
36
- (event) => {
37
- if (disabled) {
38
- event.preventDefault();
39
- event.stopPropagation();
40
- return;
41
- }
42
- onClick?.(event);
43
- },
44
- [disabled, onClick]
45
- );
46
- const handleKeyDown = react.useCallback(
47
- (event) => {
48
- if (disabled && (event.key === "Enter" || event.key === " ")) {
49
- event.preventDefault();
50
- event.stopPropagation();
51
- return;
52
- }
53
- onKeyDown?.(event);
54
- },
55
- [disabled, onKeyDown]
56
- );
57
- return /* @__PURE__ */ jsxRuntime.jsx(
58
- "a",
59
- {
60
- className: linkClasses,
61
- href: disabled ? void 0 : href,
62
- target,
63
- rel: computedRel,
64
- "aria-disabled": disabled || void 0,
65
- tabIndex: disabled ? -1 : tabIndex,
66
- onClick: handleClick,
67
- onKeyDown: handleKeyDown,
68
- ...props,
69
- children
70
- }
71
- );
72
- };
73
-
74
- exports.Link = Link;
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var tigercatCore = require('@expcat/tigercat-core');
5
-
6
- // src/utils/overlay.ts
7
- function useClickOutside({
8
- enabled,
9
- refs,
10
- onOutsideClick,
11
- defer = false
12
- }) {
13
- react.useEffect(() => {
14
- if (!enabled) return;
15
- const handler = (event) => {
16
- const elements = refs.map((ref) => ref?.current);
17
- if (tigercatCore.isEventOutside(event, elements)) {
18
- onOutsideClick();
19
- }
20
- };
21
- const attach = () => document.addEventListener("click", handler);
22
- const detach = () => document.removeEventListener("click", handler);
23
- if (!defer) {
24
- attach();
25
- return () => detach();
26
- }
27
- const timer = window.setTimeout(() => attach(), 0);
28
- return () => {
29
- window.clearTimeout(timer);
30
- detach();
31
- };
32
- }, [enabled, refs, onOutsideClick, defer]);
33
- }
34
- function useEscapeKey({ enabled, onEscape }) {
35
- react.useEffect(() => {
36
- if (!enabled) return;
37
- const handler = (event) => {
38
- if (event.defaultPrevented) return;
39
- if (!tigercatCore.isEscapeKey(event)) return;
40
- onEscape();
41
- };
42
- document.addEventListener("keydown", handler);
43
- return () => document.removeEventListener("keydown", handler);
44
- }, [enabled, onEscape]);
45
- }
46
-
47
- exports.useClickOutside = useClickOutside;
48
- exports.useEscapeKey = useEscapeKey;
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- var tigercatCore = require('@expcat/tigercat-core');
4
- var jsxRuntime = require('react/jsx-runtime');
5
-
6
- // src/components/Space.tsx
7
- var baseClasses = "inline-flex";
8
- var Space = ({
9
- direction = "horizontal",
10
- size = "md",
11
- align = "start",
12
- wrap = false,
13
- children,
14
- className,
15
- style,
16
- ...props
17
- }) => {
18
- const gapSize = tigercatCore.getSpaceGapSize(size);
19
- const mergedStyle = gapSize.style ? { gap: gapSize.style, ...style } : style;
20
- return /* @__PURE__ */ jsxRuntime.jsx(
21
- "div",
22
- {
23
- ...props,
24
- className: tigercatCore.classNames(
25
- baseClasses,
26
- tigercatCore.getSpaceDirectionClass(direction),
27
- tigercatCore.getSpaceAlignClass(align),
28
- gapSize.class,
29
- wrap && "flex-wrap",
30
- className
31
- ),
32
- style: mergedStyle,
33
- children
34
- }
35
- );
36
- };
37
-
38
- exports.Space = Space;
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var tigercatCore = require('@expcat/tigercat-core');
4
- var jsxRuntime = require('react/jsx-runtime');
5
-
6
- // src/components/Content.tsx
7
- var Content = ({ className, children, ...props }) => {
8
- const contentClasses = tigercatCore.classNames(tigercatCore.layoutContentClasses, className);
9
- return /* @__PURE__ */ jsxRuntime.jsx("main", { className: contentClasses, ...props, children });
10
- };
11
-
12
- exports.Content = Content;