@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,271 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkFQ6UHRAO_js = require('./chunk-FQ6UHRAO.js');
4
- var chunkFAKTU64M_js = require('./chunk-FAKTU64M.js');
5
- var react = require('react');
6
- var tigercatCore = require('@expcat/tigercat-core');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- var spinnerSvg = tigercatCore.getSpinnerSVG("spinner");
10
- var LoadingSpinner = () => /* @__PURE__ */ jsxRuntime.jsx(
11
- "svg",
12
- {
13
- className: tigercatCore.getLoadingOverlaySpinnerClasses(),
14
- xmlns: "http://www.w3.org/2000/svg",
15
- fill: "none",
16
- viewBox: spinnerSvg.viewBox,
17
- children: spinnerSvg.elements.map((el, index) => {
18
- if (el.type === "circle") return /* @__PURE__ */ jsxRuntime.jsx("circle", { ...el.attrs }, index);
19
- if (el.type === "path") return /* @__PURE__ */ jsxRuntime.jsx("path", { ...el.attrs }, index);
20
- return null;
21
- })
22
- }
23
- );
24
- var List = ({
25
- dataSource = [],
26
- size = "md",
27
- bordered = "divided",
28
- loading = false,
29
- emptyText = "No data",
30
- split = true,
31
- itemLayout = "horizontal",
32
- header,
33
- footer,
34
- pagination = false,
35
- grid,
36
- rowKey = "key",
37
- hoverable = false,
38
- renderItem,
39
- onItemClick,
40
- onPageChange,
41
- className,
42
- ...divProps
43
- }) => {
44
- const [currentPage, setCurrentPage] = react.useState(
45
- pagination && typeof pagination === "object" ? pagination.current || 1 : 1
46
- );
47
- const [currentPageSize, setCurrentPageSize] = react.useState(
48
- pagination && typeof pagination === "object" ? pagination.pageSize || 10 : 10
49
- );
50
- const paginatedData = react.useMemo(() => {
51
- if (pagination === false) {
52
- return dataSource;
53
- }
54
- return tigercatCore.paginateData(dataSource, currentPage, currentPageSize);
55
- }, [dataSource, currentPage, currentPageSize, pagination]);
56
- const paginationInfo = react.useMemo(() => {
57
- if (pagination === false) {
58
- return null;
59
- }
60
- const total = dataSource.length;
61
- return tigercatCore.calculatePagination(total, currentPage, currentPageSize);
62
- }, [dataSource.length, currentPage, currentPageSize, pagination]);
63
- const listClasses = react.useMemo(() => {
64
- return tigercatCore.classNames(tigercatCore.getListClasses(bordered), tigercatCore.listSizeClasses[size], className);
65
- }, [bordered, size, className]);
66
- const gridClasses = react.useMemo(() => {
67
- if (!grid) return "";
68
- return tigercatCore.classNames(
69
- tigercatCore.listGridContainerClasses,
70
- tigercatCore.getGridColumnClasses(grid.column, grid.xs, grid.sm, grid.md, grid.lg, grid.xl, grid.xxl)
71
- );
72
- }, [grid]);
73
- const handlePageChange = (page) => {
74
- setCurrentPage(page);
75
- onPageChange?.({ current: page, pageSize: currentPageSize });
76
- };
77
- const handlePageSizeChange = (pageSize) => {
78
- setCurrentPageSize(pageSize);
79
- setCurrentPage(1);
80
- onPageChange?.({ current: 1, pageSize });
81
- };
82
- const handleItemClick = (item, index) => {
83
- onItemClick?.(item, index);
84
- };
85
- const getItemKey = (item, index) => {
86
- if (typeof rowKey === "function") {
87
- return rowKey(item, index);
88
- }
89
- return item[rowKey] || index;
90
- };
91
- const renderListHeader = () => {
92
- if (!header) return null;
93
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.getListHeaderFooterClasses(size, false), children: header });
94
- };
95
- const renderListFooter = () => {
96
- if (!footer) return null;
97
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.getListHeaderFooterClasses(size, true), children: footer });
98
- };
99
- const renderDefaultListItem = (item, _index) => {
100
- const itemContent = [];
101
- const metaContent = [];
102
- if (item.avatar) {
103
- metaContent.push(
104
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemAvatarClasses, children: typeof item.avatar === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
105
- "img",
106
- {
107
- src: item.avatar,
108
- alt: item.title || "Avatar",
109
- className: "w-10 h-10 rounded-full object-cover"
110
- }
111
- ) : item.avatar }, "avatar")
112
- );
113
- }
114
- const contentChildren = [];
115
- if (item.title) {
116
- contentChildren.push(
117
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemTitleClasses, children: item.title }, "title")
118
- );
119
- }
120
- if (item.description) {
121
- contentChildren.push(
122
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemDescriptionClasses, children: item.description }, "description")
123
- );
124
- }
125
- if (contentChildren.length > 0) {
126
- metaContent.push(
127
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemContentClasses, children: contentChildren }, "content")
128
- );
129
- }
130
- if (metaContent.length > 0) {
131
- itemContent.push(
132
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemMetaClasses, children: metaContent }, "meta")
133
- );
134
- }
135
- if (item.extra) {
136
- itemContent.push(
137
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listItemExtraClasses, children: item.extra }, "extra")
138
- );
139
- }
140
- return itemContent;
141
- };
142
- const renderListItem = (item, index) => {
143
- const key = getItemKey(item, index);
144
- const itemClasses = tigercatCore.getListItemClasses(
145
- size,
146
- itemLayout,
147
- split && bordered === "divided" && !grid,
148
- hoverable
149
- );
150
- const clickable = typeof onItemClick === "function";
151
- const handleClick = clickable ? () => handleItemClick(item, index) : void 0;
152
- const handleKeyDown = clickable ? (e) => {
153
- if (e.key === "Enter" || e.key === " ") {
154
- e.preventDefault();
155
- handleItemClick(item, index);
156
- }
157
- } : void 0;
158
- return /* @__PURE__ */ jsxRuntime.jsx(
159
- "div",
160
- {
161
- className: tigercatCore.classNames(itemClasses, clickable && "cursor-pointer"),
162
- role: "listitem",
163
- tabIndex: clickable ? 0 : void 0,
164
- onClick: handleClick,
165
- onKeyDown: handleKeyDown,
166
- children: renderItem ? renderItem(item, index) : renderDefaultListItem(item)
167
- },
168
- key
169
- );
170
- };
171
- const renderListItems = () => {
172
- if (loading) {
173
- return null;
174
- }
175
- if (paginatedData.length === 0) {
176
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listEmptyStateClasses, role: "status", "aria-live": "polite", children: emptyText });
177
- }
178
- const items = paginatedData.map((item, index) => renderListItem(item, index));
179
- if (grid) {
180
- const gutter = grid.gutter;
181
- return /* @__PURE__ */ jsxRuntime.jsx(
182
- "div",
183
- {
184
- className: gridClasses,
185
- style: gutter ? { gap: `${gutter}px` } : void 0,
186
- children: items
187
- }
188
- );
189
- }
190
- return items;
191
- };
192
- const renderPagination = () => {
193
- if (pagination === false || !paginationInfo) {
194
- return null;
195
- }
196
- const { totalPages, startIndex, endIndex, hasNext, hasPrev } = paginationInfo;
197
- const total = dataSource.length;
198
- const paginationConfig = pagination;
199
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.listPaginationContainerClasses, children: [
200
- paginationConfig.showTotal !== false && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-[var(--tiger-text,#111827)]", children: paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : `Showing ${startIndex} to ${endIndex} of ${total} items` }),
201
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
202
- paginationConfig.showSizeChanger !== false && /* @__PURE__ */ jsxRuntime.jsx(
203
- chunkFQ6UHRAO_js.Select,
204
- {
205
- size: "sm",
206
- value: currentPageSize,
207
- onChange: (value) => {
208
- if (value == null) return;
209
- const nextSize = typeof value === "number" ? value : Number(value);
210
- if (!Number.isFinite(nextSize)) return;
211
- handlePageSizeChange(nextSize);
212
- },
213
- options: (paginationConfig.pageSizeOptions || [10, 20, 50, 100]).map((size2) => ({
214
- label: `${size2} / page`,
215
- value: size2
216
- }))
217
- }
218
- ),
219
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
220
- /* @__PURE__ */ jsxRuntime.jsx(
221
- chunkFAKTU64M_js.Button,
222
- {
223
- size: "sm",
224
- variant: "outline",
225
- disabled: !hasPrev,
226
- onClick: () => handlePageChange(currentPage - 1),
227
- className: tigercatCore.classNames(
228
- !hasPrev && "cursor-not-allowed",
229
- hasPrev && "hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
230
- ),
231
- children: "Previous"
232
- }
233
- ),
234
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "px-3 py-1 text-sm text-[var(--tiger-text,#111827)]", children: [
235
- "Page ",
236
- currentPage,
237
- " of ",
238
- totalPages
239
- ] }),
240
- /* @__PURE__ */ jsxRuntime.jsx(
241
- chunkFAKTU64M_js.Button,
242
- {
243
- size: "sm",
244
- variant: "outline",
245
- disabled: !hasNext,
246
- onClick: () => handlePageChange(currentPage + 1),
247
- className: tigercatCore.classNames(
248
- !hasNext && "cursor-not-allowed",
249
- hasNext && "hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
250
- ),
251
- children: "Next"
252
- }
253
- )
254
- ] })
255
- ] })
256
- ] });
257
- };
258
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.listWrapperClasses, children: [
259
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
260
- /* @__PURE__ */ jsxRuntime.jsxs("div", { ...divProps, className: listClasses, role: "list", "aria-busy": loading || void 0, children: [
261
- renderListHeader(),
262
- renderListItems(),
263
- renderListFooter()
264
- ] }),
265
- loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.listLoadingOverlayClasses, role: "status", "aria-live": "polite", children: /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner, {}) })
266
- ] }),
267
- renderPagination()
268
- ] });
269
- };
270
-
271
- exports.List = List;
@@ -1,53 +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/Icon.tsx
12
- var Icon = ({
13
- size = "md",
14
- color = "currentColor",
15
- className,
16
- children,
17
- ...props
18
- }) => {
19
- const iconStyle = { ...props.style, color };
20
- const iconClasses = tigercatCore.classNames(tigercatCore.iconWrapperClasses, className);
21
- const ariaLabel = props["aria-label"];
22
- const ariaLabelledBy = props["aria-labelledby"];
23
- const isDecorative = ariaLabel == null && ariaLabelledBy == null && props.role == null;
24
- const processedChildren = React__default.default.Children.map(children, (child) => {
25
- if (!React__default.default.isValidElement(child) || child.type !== "svg") {
26
- return child;
27
- }
28
- const svgProps = child.props;
29
- return React__default.default.cloneElement(child, {
30
- ...svgProps,
31
- className: tigercatCore.classNames(tigercatCore.iconSvgBaseClasses, tigercatCore.iconSizeClasses[size], svgProps.className),
32
- xmlns: svgProps.xmlns ?? "http://www.w3.org/2000/svg",
33
- viewBox: svgProps.viewBox ?? "0 0 24 24",
34
- fill: svgProps.fill ?? "none",
35
- stroke: svgProps.stroke ?? "currentColor",
36
- strokeWidth: svgProps.strokeWidth ?? 2,
37
- strokeLinecap: svgProps.strokeLinecap ?? "round",
38
- strokeLinejoin: svgProps.strokeLinejoin ?? "round"
39
- });
40
- });
41
- return /* @__PURE__ */ jsxRuntime.jsx(
42
- "span",
43
- {
44
- ...props,
45
- className: iconClasses,
46
- style: iconStyle,
47
- ...isDecorative ? { "aria-hidden": true } : { role: props.role ?? "img" },
48
- children: processedChildren
49
- }
50
- );
51
- };
52
-
53
- exports.Icon = Icon;
@@ -1,184 +0,0 @@
1
- 'use strict';
2
-
3
- var tigercatCore = require('@expcat/tigercat-core');
4
- var React = require('react');
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/StepsItem.tsx
12
- var StepsContext = React.createContext(null);
13
- function useStepsContext() {
14
- return React.useContext(StepsContext);
15
- }
16
- var Steps = ({
17
- current = 0,
18
- status = "process",
19
- direction = "horizontal",
20
- size = "default",
21
- simple = false,
22
- clickable = false,
23
- className,
24
- style,
25
- onChange,
26
- children,
27
- ...props
28
- }) => {
29
- const containerClasses = tigercatCore.classNames(tigercatCore.getStepsContainerClasses(direction), className);
30
- const handleStepClick = (index) => {
31
- if (!clickable) {
32
- return;
33
- }
34
- onChange?.(index);
35
- };
36
- const contextValue = {
37
- current,
38
- status,
39
- direction,
40
- size,
41
- simple,
42
- clickable,
43
- handleStepClick: clickable ? handleStepClick : void 0
44
- };
45
- const totalCount = React__default.default.Children.count(children);
46
- const stepsWithProps = React__default.default.Children.map(children, (child, index) => {
47
- if (React__default.default.isValidElement(child) && child.type === StepsItem) {
48
- return React__default.default.cloneElement(child, {
49
- stepIndex: index,
50
- isLast: index === totalCount - 1
51
- });
52
- }
53
- return child;
54
- });
55
- const mergedStyle = {
56
- ...style ?? {}
57
- };
58
- return /* @__PURE__ */ jsxRuntime.jsx(StepsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { ...props, className: containerClasses, style: mergedStyle, children: stepsWithProps }) });
59
- };
60
- var StepsItem = ({
61
- title,
62
- description,
63
- icon,
64
- status: customStatus,
65
- disabled = false,
66
- stepIndex = 0,
67
- isLast = false,
68
- className,
69
- style,
70
- ...props
71
- }) => {
72
- const stepsContext = useStepsContext() || {
73
- current: 0,
74
- status: "process",
75
- direction: "horizontal",
76
- size: "default",
77
- simple: false,
78
- clickable: false
79
- };
80
- const stepStatus = tigercatCore.calculateStepStatus(
81
- stepIndex,
82
- stepsContext.current,
83
- stepsContext.status,
84
- customStatus
85
- );
86
- const isClickable = !!stepsContext.handleStepClick && !disabled;
87
- const itemClasses = tigercatCore.classNames(
88
- tigercatCore.getStepItemClasses(stepsContext.direction, isLast, stepsContext.simple),
89
- className
90
- );
91
- const iconClasses = tigercatCore.getStepIconClasses(stepStatus, stepsContext.size, stepsContext.simple, !!icon);
92
- const tailClasses = tigercatCore.getStepTailClasses(stepsContext.direction, stepStatus, isLast);
93
- const contentClasses = tigercatCore.getStepContentClasses(stepsContext.direction, stepsContext.simple);
94
- const titleClasses = tigercatCore.getStepTitleClasses(stepStatus, stepsContext.size, isClickable);
95
- const descriptionClasses = tigercatCore.getStepDescriptionClasses(stepStatus, stepsContext.size);
96
- const handleClick = (event) => {
97
- if (!isClickable) {
98
- return;
99
- }
100
- stepsContext.handleStepClick?.(stepIndex);
101
- };
102
- const renderIcon = () => {
103
- if (icon) {
104
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: iconClasses, children: icon });
105
- }
106
- if (stepStatus === "finish") {
107
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: iconClasses, children: /* @__PURE__ */ jsxRuntime.jsx(
108
- "svg",
109
- {
110
- className: tigercatCore.stepFinishIconSvgClasses,
111
- fill: "none",
112
- stroke: "currentColor",
113
- viewBox: tigercatCore.stepFinishIconViewBox,
114
- "aria-hidden": "true",
115
- focusable: "false",
116
- children: /* @__PURE__ */ jsxRuntime.jsx(
117
- "path",
118
- {
119
- strokeLinecap: tigercatCore.stepFinishIconPathStrokeLinecap,
120
- strokeLinejoin: tigercatCore.stepFinishIconPathStrokeLinejoin,
121
- strokeWidth: tigercatCore.stepFinishIconPathStrokeWidth,
122
- d: tigercatCore.stepFinishIconPathD
123
- }
124
- )
125
- }
126
- ) });
127
- }
128
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: iconClasses, children: stepIndex + 1 });
129
- };
130
- const renderContent = () => {
131
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClasses, children: [
132
- stepsContext.clickable ? /* @__PURE__ */ jsxRuntime.jsx(
133
- "button",
134
- {
135
- type: "button",
136
- className: titleClasses,
137
- onClick: handleClick,
138
- disabled: !isClickable,
139
- "aria-disabled": disabled || void 0,
140
- children: title
141
- }
142
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClasses, children: title }),
143
- !stepsContext.simple && description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClasses, children: description })
144
- ] });
145
- };
146
- if (stepsContext.direction === "vertical") {
147
- return /* @__PURE__ */ jsxRuntime.jsxs(
148
- "li",
149
- {
150
- ...props,
151
- className: itemClasses,
152
- style,
153
- "aria-current": stepIndex === stepsContext.current ? "step" : void 0,
154
- "aria-disabled": disabled || void 0,
155
- children: [
156
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
157
- renderIcon(),
158
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailClasses })
159
- ] }),
160
- renderContent()
161
- ]
162
- }
163
- );
164
- }
165
- return /* @__PURE__ */ jsxRuntime.jsxs(
166
- "li",
167
- {
168
- ...props,
169
- className: itemClasses,
170
- style,
171
- "aria-current": stepIndex === stepsContext.current ? "step" : void 0,
172
- "aria-disabled": disabled || void 0,
173
- children: [
174
- renderIcon(),
175
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailClasses }),
176
- renderContent()
177
- ]
178
- }
179
- );
180
- };
181
-
182
- exports.Steps = Steps;
183
- exports.StepsItem = StepsItem;
184
- exports.useStepsContext = useStepsContext;